- Published on
VIM使用技巧
- Authors

- Name
- JiGu
- @crypto20x
窗口
winnr() 获取当前窗口号 winnr('$') 获取最后一个窗口编号
窗口切换
用vim打开了Ntree,需要来回切换窗口。
- 如果你有两个窗口,使用 Ctrl + w + w 会在这两个窗口之间来回切换。
- Ctrl + w + h:将焦点切换到左侧的窗口。
- Ctrl + w + j:将焦点切换到下方的窗口。
- Ctrl + w + k:将焦点切换到上方的窗口。
- Ctrl + w + l:将焦点切换到右侧的窗口。
- Ctrl + w + q:关闭当前窗口。
- Ctrl + w + v:垂直分割窗口。
- Ctrl + w + s:水平分割窗口。
exec "wincmd l"
窗口分割
- 水平分栏
:split简写:sp - 垂直分栏
:vsplit简写:vsp - 显示缓存
:ls
窗口大小调整
:winsize {height} {width}调整整个窗口:resize 10固定调整高度为10,也可以相对调整,+10-10:vertical resize 80固定调整高度为10,也可以相对调整,+10-10Ctrl+w +/-调整高度Ctrl+w </>调整宽度
滚动绑定
:set scrollbind
文件
打开文件
:open {path}:e {path}
对比差异文件
vim -d file1 file2
或
vimdiff file1 file2
或在vim中输入:
:e {file1_path}:e {file2_path}:windo diffthis高亮显示不同的部分:windo diffoff关闭比较
折叠
zo/zOOpen 打开折叠zc/zCClose 关闭折叠za/zAToggle 在打开折叠和关闭折叠之间进行切换zvOpen folds for this line 为当前行打开折叠 上面的命令需要选中折叠行才可以zMClose all 关闭所有折叠zmFold more (foldlevel += 1) 更多地折叠zROpen all 打开所有折叠zrFold less (foldlevel -= 1) 更少地折叠
标记
" 定义 名字为Remark的标记,标记的文本是* 高亮是以Search的高亮色展示
sign define Remark text=* texthl=Search
" 放置标记
" 1为id号,无意义,表示该标记的id,group分组,name表示标记Remark配置的标记,line为行号,file为哪个文件,若不没有这项,则为当前打开的文件。
sign place 1 group=RemarkGroup name=Remark line=10 file='a.vim'
" 取消标记
" 1为id号,group为组名
sign unplace 1 group=RemarkGroup
vimscript
动态函数
let func_def = "
\ function! Hello()
\ \n echo 'inject'
\ \n endfunction"
"
用命令 :exe func_def
就可以:call Hello() 函数了