版权声明:欢迎转载,不要求署名~~~ https://blog.csdn.net/shadandeajian/article/details/82928772
下面是目录呀:
官方用户手册
百度云:https://pan.baidu.com/s/1k3BJIOPFFJzhdX9SQCJiIA
https://blog.easwy.com/archives/advanced-vim-skills-basic-move-method/
配置文件
编辑配置文件:在用户的根目录下,我的是:/home/shadandeajian
vim .vimrc
放一下我的配置文件
set smarttab
" 设置tab符长度为4个空格
set tabstop=4
" 设置换行自动缩进长度为4个空格
set shiftwidth=4
" 设置tab符自动转换为空格
set expandtab
" 设置智能缩进,其他可选缩进方式:autoindent, cindent, indentexpr
set smartindent
" 设置显示行号,关闭行号显示命令:set nonumber
set number
" 设置配色方案
colorscheme desert
"保证yG复制时可以复制全部,默认是复制最多50行
:set viminfo='1000,<500
命令模式:
指针跳转
- 指针跳转到文本的开头:gg
- 指针跳转到文本的结束:G
- 指针跳转到文本的特定行,如1314行:1314G
- 指针跳转到文本的特定行,但是不知道具体在哪行,可用%估计:50%
- 以单词为单位,指针左右移动:按住shift,再按←→
- 移动到当前行的指定字符,如,向右把光标移动到
x
字母上:fx - 移动到当前行的指定字符,如,向左把光标移动到
x
字母上:Fx - 移动到当前行的指定字符,如,向右把光标移动到
x
字母的前一个位置上:tx - 移动到当前行的指定字符,如,向左把光标移动到
x
字母的前一个位置上:Tx - ;命令重复前一次输入的
f, t, F, T
命令,而,命令会反方向重复前一次输入的f, t, F, T
命令。 - 移动到行首:Home或0(数字)
- 移动到行首(第一个非空字符):^
- 移动到行尾:End或$
- 移动到上一个单词的首字母(按iskeyword分割):b
- 移动到下一个单词的首字母(按iskeyword分割):w
- 移动到上一个单词的末字母(按iskeyword分割):ge
- 移动到下一个单词的末字母(按iskeyword分割):e
- 移动到上一个单词的首字母(按空格/回车分割):B
- 移动到下一个单词的首字母(按空格/回车分割):W
- 移动到上一个单词的末字母(按空格/回车分割):gE
- 移动到下一个单词的末字母(按空格/回车分割):E
- 让光标跳转到当前窗口的顶部、中间、和底部(第一个非空字符):H/M/L
zb
滚屏
- 向后翻一页:Page Down或者ctrlf
- 向前翻一页:Page Up或者ctrlb
- 以光标为钉,滚屏。把光标所在行移动窗口的顶端、中间或底部:ztzz
查找
- 向下查找匹配串:/待查找字符串
- 向上查找匹配串:?待查找字符串
- 重复上一次查找命令:n
- 反方向,重复上一次查找命令:N
- 查找之前查找过的内容:q/,在选中行回车就可以啦!
- 反方向,查找之前查找过的内容:q?,在选中行回车就可以啦!
删除
- 删除当前行:dd
- 删除以下的
n
行:ndd - 删除光标到本行结束:D或d$
- 删除全部:dG
- 删除
2
行:dENTER - 删除一个单词:dw
- 删除
n
个单词:ndw
复制、剪贴(在本文件内)
- 复制全部:先把光标跳转到头部gg,然后yG
- 复制第
4
行到第1行:: 4 copy 1或: 4 co 1 - 复制第
4-10
行到第1行:: 4,10 copy 1或: 4,10 co 1 - 剪贴第
4
行到第1
行:: 4 move 1或: 4 mo 1 - 剪贴第
4
-10
行到第1
行:: 4,10 move 1或: 4,10 mo 1
复制(vim与应用程序交互 复制、粘贴)
- 第一种方法:鼠标选中vim中要复制的内容,然后按ctrl+insert执行复制操作,在应用程序中按shift+insert进行粘贴操作(这样做有一个缺点,就是我们在vim开启行号显示功能时,会把行号一起复制进去,所以推荐第二种方法)
- 第二种方法:
先安装一个插件vim-gnome,这个插件的作用是让vim可以与系统剪贴板的缓存区进行交互。
sudo apt-get install vim-gnome
进入vim,如果想全部复制粘贴代码,你可以这样做:
- 复制vim中的文本,粘贴至外部应用:gg使光标跳转至文件开头,按v进入可视模式,G全选文本,"+y把选中的文本复制进系统剪贴板上去,最后在其他应用ctrlv粘贴就好啦。
- 复制外部应用的文本,粘贴至vim:ctrlc复制外部文本,"+p粘贴至vim。
寄存器
输入reg查看缓冲区内容。
- 未命名寄存器
""
: vim使用的默认寄存器,vim下的yy和p命令即使用的是这个寄存器,只能在当前文件中粘贴复制 - 10个数字命名寄存器
"0-"9
:vim缓存yank和delete行操作命令产生的文本 - 1个非行删除内容缓存寄存器
"-
: vim缓存delete操作在非行上时产生的文本 - 26个字母命名寄存器
"a - "z
/"A - "Z
: 完全由用户指定内容的寄存器 - 4个只读寄存器
".
"%
"#
":
- 表达式寄存器
"=
:使用VIM强大的表达式功能(从来没用过,一点不懂) - GUI选择寄存器
"*
"+
"~
:vim缓存在GUI中选择的文本
撤销
- 撤销上一步的操作:u
可视模式:
为了便于选取文本,VIM 引入了可视模式Visual Mode。
进入可视模式
- v以字符为单位进入可视模式
- shiftv以行为单位进入可视模式
- ctrlv以列为单位进入可视模式
删除某一列的所有内容
- gg 跳转到第一行
- ctrlv进入可视模式
- shiftg 快速移动到最后一行
- 按下d
自动格式化代码Astyle
- gg 跳转到第一行
- shiftv 转到可视模式
- shiftg 快速移动到最后一行
- 按下=
高亮模式
- 全部高亮:先把光标跳转到头部gg,然后vG或者VG