VIM个人总结

版权声明:欢迎转载,不要求署名~~~ 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命令。
  • 移动到行首:Home0(数字)
  • 移动到行首(第一个非空字符):^
  • 移动到行尾: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
  • 删除光标到本行结束:Dd$
  • 删除全部: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,如果想全部复制粘贴代码,你可以这样做:

  1. 复制vim中的文本,粘贴至外部应用:gg使光标跳转至文件开头,按v进入可视模式,G全选文本,"+y把选中的文本复制进系统剪贴板上去,最后在其他应用ctrlv粘贴就好啦。
  2. 复制外部应用的文本,粘贴至vim:ctrlc复制外部文本,"+p粘贴至vim。

寄存器

输入reg查看缓冲区内容。

  1. 未命名寄存器 "" : vim使用的默认寄存器,vim下的yy和p命令即使用的是这个寄存器,只能在当前文件中粘贴复制
  2. 10个数字命名寄存器"0-"9 :vim缓存yank和delete行操作命令产生的文本
  3. 1个非行删除内容缓存寄存器 "- : vim缓存delete操作在非行上时产生的文本
  4. 26个字母命名寄存器 "a - "z / "A - "Z : 完全由用户指定内容的寄存器
  5. 4个只读寄存器 ". "% "# ":
  6. 表达式寄存器 "= :使用VIM强大的表达式功能(从来没用过,一点不懂)
  7. GUI选择寄存器 "* "+ "~ :vim缓存在GUI中选择的文本

撤销

  • 撤销上一步的操作:u

可视模式:

为了便于选取文本,VIM 引入了可视模式Visual Mode

进入可视模式

  • v以字符为单位进入可视模式
  • shiftv以行为单位进入可视模式
  • ctrlv以列为单位进入可视模式

删除某一列的所有内容

  1. gg 跳转到第一行
  2. ctrlv进入可视模式
  3. shiftg 快速移动到最后一行
  4. 按下d

自动格式化代码Astyle

  1. gg 跳转到第一行
  2. shiftv 转到可视模式
  3. shiftg 快速移动到最后一行
  4. 按下=

高亮模式

  • 全部高亮:先把光标跳转到头部gg,然后vG或者VG

猜你喜欢

转载自blog.csdn.net/shadandeajian/article/details/82928772