文章目录
vim 查看帮助
:help <C-f> #查看快捷键帮助
:help :call
:help mkdir()
vim相关知识
- vim 运行支持文件目录
/usr/share/vim/vim8?/
(系统文件不建议修改)或$HOME/.vim
- 导入 vim 配置示例文件(会打开有用的选项:比如语法加亮、搜索加亮、命令历史)
source $VIMRUNTIME/vimrc_example.vim
- 不产生备份文件,将撤销文件放到特定目录,并创建目录
set nobackup
set undodir=~/.vim/undodir
if !isdirectory(&undodir)
call mkdir(&undodir,'p',0700)
endif
- 其他设置
set scrolloff=0 #屏幕滚动能到边
命令
命令 | 操作 |
---|---|
单个g | 没有含义 |
:q! | 退出 |
:wq | 保存退出 |
: s | 替换 |
:e | 编辑文件 |
:! | 执行外部命令 |
:w | 写文件 |
:r | 读文件 |
b/w B/W | Words Backward/Words forward |
R | 替换模式,直到<Esc> |
nG | 跳转到第 n 行 |
gj | 屏幕的行移动 |
na/i | 对多个(层)文本对象操作;比如:c2i{ |
H/M/L | 屏幕的顶、中、底 |
可视模式选中 u/U | 改变大小写 |
"+y | 复制到系统剪切板 |
<C+R> | 重做 |
快捷键
按键 | 操作 |
---|---|
Ctrl+w+v | vim垂直分割 |
Ctrl+w+s | vim水平分割 |
Ctrl+G | 显示状态栏 |
Ctrl+O | 上一个位置 |
Crrl+E/Ctrl+Y | 屏幕滚动 |
zt、zz、zb | 屏幕滚动 |
; , n/N . | 重复命令 |
使用Ctrl-D和Tab 进行命令的补全
多行注释
<C-v>
选择多行,按Shift+i
,输入//
,再按<Esc>
命令模式需要按下 Enter 才算完成
vim 选择模式(Ctrl+g
与可视模式切换)
与Windows编辑器行为类似,选择内容后再输入任何内容,将会替换选择的内容。
在选择模式或者可视模式选择一段文本后,通过 Ctrl-g 来切换到另一模式。
set fr? "显示当前文件类型
set nobackup "不产生备份文件
set undodir=~/.vim/undodir "把撤销文件放到特定目录
if !isdirectory(&undodir) "创建目录,&dodir代表undodir
call mkdir(&undodir,'p',0700)
endif
语法高亮
setfiletype java
设置文件类型,进行语法加亮
vim模式来查看帮助文档
:help manpager
:查看帮助
在.zshsrc
添加:export MANPAGER="vim -M +MANPAGER -"
vim 内置终端
命令 | 行为 |
---|---|
:term | 打开内置 vim 终端 |
C+w+j/k | 切换窗口 |
C+w+q | 关闭窗口 |
C+ww | 切换窗口 |
<C+\><C+n> | 内置终端切换到正常模式 |
多文件
命令 | 行为 |
---|---|
:args | 显示参数 |
args filename | 替换参数 |
:next | 打开下一个文件 |
:Next/:N/:prev | 打开上一个文件 |
:first/:rewind | 打开第一个文件 |
:last | 打开最后一个文件 |
:autowrite | 自动存盘 |
:n|normal ggP | 切换到下一个文件,并正常模式执行ggP |
:ls | 显示缓冲区列表 |
:b <filename> | 切换缓冲区 |
bd <filename> | 删除缓冲区,无参数删除当前缓冲区 |
:bn | 下一个缓冲区 |
:bN/:bp | 上一个缓冲区 |
:bfirst/:brewind | 跳到缓冲区第一个 |
:blast | 跳到最后一个缓冲区 |
<C-^> | 切换缓冲区,1<C-^> 切换到第一个缓冲区 |
:args **/*.cpp **/*.h | 打开多文件,包括子目录文件 |
文本操作
- 精准匹配
:s/\<animal\>/creature/ge
//只匹配animal,不匹配animals
e
:没有匹配项时不显示错误
YouCompleteMe 的安装
- apt 安装
sudo apt install vim-youcompleteme
vim-addon-manager install youcompleteme
- 手动安装
安装之前,你需要确保你的系统上有 CMake、Python 3 和平台主流的 C++ 编译器,即 Linux 上的 GCC,macOS 上的 Clang,及 Windows 上的 MSVC。因为 YCM 是一个需要编译组件的插件,所以不建议你用 Vim 的包管理器来安装,那样会出什么错都搞不清楚。大致安装过程是:
- 选择安装目录签出 YCM根据你需要使用的语言使用合适的选项,来进行编译安装下面
- 首先,我们需要给 YCM 一个独立的安装目录。这个目录应该在 pack 下面,但不要放在包管理器使用的目录下,以免发生冲突。
- 可以选择是“我的”,my。因为希望 YCM 直接启动,所以最后需要放到这个目录的 start 子目录下。换句话说,Unix 上的 ~/.vim/pack/my/start,Windows 上的 ~\vimfiles\pack\my\start。然后执行
git clone --recurse-submodules \
--shallow-submodules \
https://github.com/ycm-core/YouCompleteMe.git