vim精简版教程

vim编辑器

vim trree

编辑器的分类

  • 文本编辑器,ASCII码
  • 字处理器:word

全称

  • vi:Visual interface
  • vim: Visual interface improved

分类

  • 全屏编辑器,
  1. vim
  2. Emacs
  3. notepad++
  4. ...
  • 模式编辑器
  1. grep
  2. sed
  3. awk

vim模式:

  1. 编辑模式(命令模式)
  2. 输入模式
  3. 末行模式
  4. 可视化模式(块)

默认处于编辑模式

模式转换

编辑模式(命令模式) --->>输入模式

   i:在当前光标所在字符的的前面,转换为输入
    a:在当前光标所在字符的的后面,转换为输入
    o:在当前光标所在字符的行下方,新建一行,并转为输入模式。
    I:在当前光标所在行的行首,转为输入模式
    A:在当前光标所在行的行尾,转为输入模式
    O:在当前光标所在行的上方,新建一行,并转为输入模式。

输入模式--->编辑模式(命令模式)

ESC键

编辑模式(命令模式)---->>末行模式

:
10d
10,20d
set nu
!ls /etc

末行模式---->> 编辑模式(命令模式)

ESC  ESC键

一.打开文件:

vim filename
vim /path/to/somefile
vim +12 file :打开文件,光标在12行
vim  +# file :打开文件,光标在N行
vim  +   file:打开文件,光标在最后一行。
vim  +/pattern file :打开文件,光标在第一个匹配的行首

二.关闭文件:

1.末行模式关闭文件
:q  退出
:q!
:wq   保存退出
;w  保存 
:w!  强制保存
:wq   --> :x

2.编辑模式(命令模式)
ZZ:保存退出

三.移动光标(编辑模式)

1.逐字符移动:
 h:向右
 j:向下
 k:向上
 l:向左
 数字h  
 5h:向右移动5个字符
 
2.逐个单词移动
 w:移动到下一个单词词首
 e:跳到当前单词或下一单词的词尾
 b:跳到当前单词或前一单词的词首
 #w:一次跳n个单词。
 4b:


3. 行内跳转
  0:跳到行首(绝对行首)
  ^:行首的第一个非空白字符
  $:绝对行尾
4.行间跳转
   #G:跳转到n行
   G:最后一行
   GG:第一行

  末行模式   :#  移动到n行

四、翻屏

编辑模式(命令模式)
f: 向后翻一屏、
CTRL+b:向上翻一屏

Ctrl+d: 向下翻半屏
Ctrl+u:向上翻半屏

五、删除单个字符

x:删除光标所在处的单个字符
#x:删除光标所在处及向后n个字符

六、删除命令:d

d命令跟跳转命令组合使用
dw:
3dw:
#de,#db
dd:删除当前光标所在行
#dd:删除当前光标所在行及下面共#行 


末行模式下
startadd,Endaddd
1,8d
.,5+d
.:表示当前行
$:表示最后一行
+#:向下#行
1,$-3d:

最后一次删除的内容,可以粘贴到别处

七、粘贴命令p

p:如果删除或复制为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面;
P:如果删除或复制为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面;

八、复制命令 y

yy:一行
#y:

九、先删除内容,在转换为输入模式(修改)

c:同d命令
c$:
cc:
5C:

十、替换

r:替换单个字符
R:进入替换模式

十一、撤销编辑操作:

u:撤销前一次的操作:
  连续u,撤销此前n次操作
3u
#u:撤销最近#次操作

十二、撤销上一次的撤销

Ctrl+r
恢复

十三、重复前一次编辑操作

.

十四、可视化模式

v:按字符选取
V:按矩形选取
Ctrl+v:

十五、查找

/pattern
?pattern
n
N

十六、查找并替换

在末行模式下
用法和sed一样
address1,address2s/pattern/string/gi
1,$
%:表示全文。

十七、打开多个文件

vim file1 file2
;next 切换至下一个文件
:prev 切换至前一个文件
:last 切换至最后一个文件
:first 切换最前面的一个文件
退出
:qall 全部退出

十八:分屏显示一个文件

ctrl+w ,s:水平分割窗口
ctrl+w,v:垂直分割窗口

在窗口间切换光标
Ctrl+w,ARRON

:qa 关闭所有窗口

十九、分窗口多个文件

vim -o file1 file2  file3 ..水平分割窗口
vim -O  file1 file3 ....    垂直分割窗口
二十、将当前文件部分内容另存为另一文件
末行模式下使用w命令
:w
:add1,addr2w /path/to/somewhere

二十一、将另一个文件的内容填充在当前文件中

:r /path/to/somefile

二十二、跟shell交互

:!command

二十三、高级话题

1.显示或取消行号
:set number
set nu
:set nonu
2、显示忽略大小写或区分大小写
set ignorecase
set ic
:set noignorecase
:set noic
3.设定自动缩进
:set autoindent
:set noai

4.查找的文本高亮显示或取消
:set hlsearch
:set nohlsearch

5.语法高亮
:syntax on
:syntax off

二十四、配置文件

/etc/vimrc
~/.vimrc(家目录下)

二十五、练习vim的小游戏

vimtutor 
vim -r file

总结

以上都是我大学的时候,学习的笔记,无意间看到了,发现很多东西都忘记了,现在准备复习一下,分享在这里。下面赠送一个安装vim插件的命令。

神器: wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x

上一篇:爬虫的"盗亦有道"-Robots协议


下一篇:Requests库详解