vim配置攻略
vim配置
在~目录下创建.vimrc,并追加需要的配置。
1 | |
vi退格键和方向键不能用
用vi打开/etc/vim/vimrc.tiny,追加以下两行:
1 | |
vim回到上/下个光标位置
- ctrl +O(o)
- ctrl + I(i)
vim使用外部命令
一般情况下,直接冒号+感叹号+命令即可。如果需要将外部命令的输出写入当前文件,可以配合命令 :read 或者 :r。
1 | |
在使用外部命令时,% 表示当前正在编辑的文件
vim自动补全
在插入模式下,输入Ctrl-X将进入^X模式(插入和替换模式的一个子模式)。屏幕底部将显示以下提示信息:
1 | |
自动补全方式:
- Ctrl-] ,标签(tags)补全
- Ctrl-D ,定义补全
- Ctrl-E ,向上滚动文本
- Ctrl-F ,文件名补全
- Ctrl-I ,当前文件以及包含进来的文件补全
- Ctrl-K ,字典补全
- Ctrl-L ,整行补全
- Ctrl-N ,当前文件内的关键字补全,向下选择匹配项
- Ctrl-O ,全能补全
- Ctrl-P ,当前文件内的关键字补全,向上选择匹配项
- Ctrl-S ,拼写建议补全
- Ctrl-U ,用户自定义补全
- Ctrl-V ,Vim命令补全
- Ctrl-Y ,向下滚动文本
补全弹出菜单:
随着弹出菜单的显示,将会自动应用第一个匹配项。
使用以下快捷键,可以在弹出菜单中移动和选择匹配项:
- 使用Ctrl-N和Ctrl-P上下移动时,输入的文本也会随之变化。
- 使用**<Up>和<Down>**上下移动时,输入的文字并不会变化。
- 使用**<PageUp>和<PageDown>**键,可以在菜单中翻页。
- 使用Ctrl-Y或Enter回车键,将使用当前匹配项完成补全。
- 使用Ctrl-E键,将关闭菜单并退回到文字输入的原始状态。
- 使用Esc键,将关闭弹出菜单,但会保留之前应用的匹配项。
请注意,如果您不希望应用任何匹配项完成补全时,应该使用Ctrl-E键,而不是使用Esc键来取消操作。
参考博客:
vim折叠
vim支持6种默认的折叠方式:
- manual 手工定义折叠
- indent 用缩进表示折叠
- expr 用表达式来定义折叠
- syntax 用语法高亮来定义折叠
- diff 对没有更改的文本进行折叠
- marker 用标志折叠,比如{}括号等
一般来说,主要在indent和synatax这两种中选择。配置方法为在 .vimrc 中添加 set foldmethod=indent。
常用的折叠指令:
1 | |
常用配置记录:
1 | |
参考博客:
vimplus
vim支持各种插件,但自己一一配置实在太麻烦了,这里推荐使用vimplus集成环境,相对来说对配置不需要做太多改动,能够快速上手使用。
官方网站:https://github.com/chxuan/vimplus
网络不好的安装教程:https://www.bilibili.com/video/BV1rA41157qK
按照README.md安装完后,可以再执行一下./update.sh,能够解决一些bug。
- 如果无法使用YouCompleteMe则 cd ~/.vim/plugged/YouCompleteMe
- python3 install.py –all
使用方面,进入vim后多看看,h中提供的文档,是能够在短时间内上手的。
字符乱码问题我没能解决,以后再说吧。
解决方法,在win上安装指定的字体,并且修改wt的配置文件,把字体设为下载的字体即可。基本逻辑,乱码只是显示的问题,既然wt显示有问题,那就应该从wt上想办法。
字符乱码问题,需要下载Droid Sans Mono Nerd Font,不用下载了,~/.vimplus/fonts/ 目录里面已经连同准备好了。下载oft文件后放至以下三个字体目录之一:
- /usr/share/fonts
- /usr/local/share/fonts (我更加喜欢这种方式,因为这个文件下的fonts默认是看空的,第三方的字体会安装在另外两个文件里,管理起来有点麻烦,所以我更愿意放在这个文件夹里)
- ~/.local/share/fonts
- ~/.fonts # 此路径已经不推荐使用
更新缓存
1 | |
查看已安装的字体:
1 | |
几个和修改字体相关的指令,暂时用不上,还是记一下:
1 | |
配置wsl使用系统剪切板
由于wsl子系统无法使用ubuntu下的xclip,即是安装了,复制时依然会报错 Error: Can't open display: (null)。
这个问题在ubuntu论坛上有两种解决方法,但是我试了都没成功。当然,这个问题的回答给出了github上更详细的issue以及相关讨论,从中我得知linux子系统是可以执行win10系统上的二进制命令的。因此解决方案是把win10的clip.exe命令软连接到ubuntu中即可。
经过查询知道clip.exe所在的路径是 C:\Windows\System32\clip.exe,而win10的盘符是挂载在 /mnt/ 下的,因此打开ubuntu子系统,执行如下的命令即可。
1 | |
然后就可以愉快的使用clip命令进行复制了,例如
1 | |
然后可以用v模式选中待复制段落再执行:'<,'> w !clip ,即可将内容复制到win剪贴板。如果仅在wsl中使用,还有个ctrl+R后再用+的方法,见参考的s.o。
vimplus常用命令整理
1 | |
参考博客:
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!