❗️没有特别说明本文中的代码都是放在
.vimrc
中的.
很有帮助的命令
在vim使用过程中自行查阅帮助文件以及阅读调试信息是很重要的, 利用
:h [keyword]
可以按关键词查看帮助文档.
:checkhealth
查看模块, 插件状态.
:file [file name]
在vim中创建文件.
:edit
可以在外部改动了文件时刷新当前文件.
Ctrl f
下翻一页
Ctrl b
上翻一页
Ctrl d
下翻半页
Ctrl u
上翻半页
原本展开代码和折叠代码是绑定在了
zo
(z open) 和
zc
(z close), 不过我重新映射到了空格键, normal模式下按一次展开, 再按一次折叠, 感觉更方便一些.
1
|
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
|
另外
zn
为全部展开,
zN
为全部折叠.
1 2
|
set spell set spellfile=~/.vim/spell/en.utf-8.add
|
按
]s
跳往下一错误拼写,
[s
往前跳.
按
zg
将当前光标所在单词记录到字典 (指出当前word 是 good word),
zw
将当前单词从字典删除 (指出当前word为wrong word)
vim允许同时使用多个字典, 通过输入
:set spellfile+=path/to/dic/en.utf-8.add
来添加, 但要注意这个文件后缀名一定是
.[encoding].add
这之后你可以输入
set spellfile?
来查看当前在使用哪些字典, 要将单词添加到第一个字典就按
1zg
, 添加到第二个就按
2zg
. 很好的一点是spellfile这个变量只在当前缓冲区有效, 即每个文件可以使用不同的spellfile值. 这给保存单词到当前工作区带来了可能. 因此我设置了一个快捷键:
1
|
nnoremap <leader><C-z> :exe "setlocal spellfile+=" . <C-r>=shellescape(fnamemodify("en.utf-8.add", ":p"), 1)<CR><CR>
|
这样每次按
Ctrl , z
就会添加一个当前文件所在文件夹的字典到spellfile
在vim中, 多文件编辑主要涉及三个概念:
窗口
,
标签页
,
缓冲区
相关参考:
🔗
Vim 多文件编辑:窗口
🔗
Vim 多文件编辑:标签页
🔗
Vim 多文件编辑:缓冲区
💡
Ctrl w
开头的都是与窗口有关的快捷键, w指window
在窗口间移动
Ctrl w
接 hjkl上下左右在各窗口间移动光标
Ctrl w t
移动光标至最左上窗口
Ctrl w b
移动光标至最右下窗口
宽度调整:
Ctrl w [n] >
右移边界
Ctrl w [n] <
左移边界
💡默认增减1个字符宽度, 可以在Ctrl w和+/-间加数字来指定增减宽度. 不是最右边的窗口调整的是右边界, 最右边的窗口调整的是左边界.
高度调整:
Ctrl w [n] +
增加高度
Ctrl w [n] -
减小高度
通过设置以下几个键映射我可以十分方便地调整窗口大小
1 2 3 4
|
nnoremap <F2> <C-w>+ nnoremap <F3> <C-w>- nnoremap <F4> <C-w>< nnoremap <F5> <C-w>>
|
Ctrl w
接HJKL移动窗口至最上下左右并且宽度或高度为最大.
Ctrl w r
顺时针移动窗口
Ctrl w R
逆时针移动窗口
vim是能够进行高度个性化的编辑器, 因此每个人肯定都会添加一些自己顺手的快捷键, 因为我是从VSCode转来vim的, 因此我的快捷键设置一定程度上参考了VSC的快捷键设置. 用以在
.vimrc
中设定快捷键的命令有好几个, 我的vimrc里比较常用的是
nnoremap
和
map
. 以下是我常用的命令及其含义.
vim-plug
我用
vim-plug
来管理我的vim插件, 使用很简单, 写法可以参照我的vimrc. 每次要下载插件时在vim中输入
:PlugInstall
即可. 超好用😆
NERDtree
NERDtree是一个不错的文件资源管理器, 体验和VSC的explorer差不多. 觉得每次输
:NERDTreeToggle
太麻烦的话可以键绑定一下:
1
|
nnoremap <leader><C-e> :NERDTreeToggle<CR>
|
我绑定到了
Ctrl , e
, 和本来想绑的VSC里的
Ctrl shift e
不同. 因为在终端中
Ctrl shift 字母
和
Ctrl 字母
的输出没有区别.
以下是几个我比较常用的NREDtree命令
切换NERDtree根目录到光标所在文件夹
刷新根目录
刷新光标所在目录
水平分屏打开
竖直分屏打开