Vim的使用入门

一直都想写关于vim的使用教程,因为在很多的场景下不得不去使用vim去编辑文本,今天有时间就相关的常用的命令整理下(本文只适合入门的读者,想获得高级教程请止步) ,工具只要经常的使用自然就能熟能生巧。

vim概述

vim是linu下面常用的文本编辑工具,可以使用 vim -v 来查看有没有安装,如果没有安装可以使用 以下命令安装:

sudo apt-get install vim

vim 有两种模式,命令模式和插入模式。从字面的意思很容易理解两者的用的情景:

  • 命令模式:在这个情况下每一个字符都是一个命令 ,如果想转换成插入模式直接输入插入命令即可(a,A,i,I等)

  • 插入模式:可以正常的输入文本,使用esc可以切换成命令模式

vim 使用


打开、新建、保存、退出


  • 打开和新建文件

    vim 1.txt      //如果1.txt存在直接打开,如果不存在直接新建
    

    上面的命令是在命令行中直接使用的,如果我们已经打开了一个文件,又想再打开文件:

    :e 1.txt
    

    如果想打开多个文件,可以直接在后面跟上多个文件名,用空格隔开.

    vim 1.txt  2.txt
    
    • 保存和退出
      命令 Demo 相关功能
      :w :w 保存
      :w fileName :w save.txt 另存为
      :wq或者ZZ :wq或者ZZ 保存并退出
      :q! :q! 不修改直接退出
      :wq! :wq! 保存并退出(root用户才能使用)

插入、删除、跳转


命令 Demo 相关功能
a a 在光标所在位置后插入
A A 在光标所在行尾插入
i i 在光标所在字符前插入
I I 在光标所在字符行首插入
o o 在光标下插入
O O 在光标下插入
x x 删除光标所在处字符
hjkl hjkl 移动光标
gg gg 跳转到第一行
G G 到最后一行
nG或:n nG或:n 到第n行
$ $ 移动到行首
0 0 移动到行尾
------------------------------------- #### 选择、 拷贝、粘贴、剪切 -------------------------------------  
命令 Demo 相关功能
v v 字符选择
V V 选择一行
ctrl+v ctrl+v 矩形选择
y y 复制选中
yy yy 复制一整行
nyy 2yy 复制前n行
p p 在光标下面粘贴
P P 在光标上面粘贴
d d 剪切选中
dd dd 剪切一整行,可以用来删除
------------------------------------- #### 搜索、替换 -------------------------------------
命令 Demo 相关功能
/string /abc 搜索字符串 ,使用n可以跳转到下一个匹配
:set ic :set ic 字符搜索不区分大小写
:set noic :set noic 字符搜索区分大小写
%s/old/new/g或者%s/abc/abc/c %s/abc/ABC/g || %s/abc/ABC/c 全文文本替换 /g不询问直接替换 /c询问是否替换
n,m/old/new/g或者n,m/abc/abc/c n,m/abc/ABC/g || n,m/abc/ABC/c 指定行号文本替换 /g不询问直接替换 /c询问是否替换

翻页


整页翻页 ctrl-f ctrl-b

f就是forword b就是backward

翻半页: ctrl-d ctlr-u
d=down u=up

滚一行: ctrl-e ctrl-y

zz 让光标所杂的行居屏幕中央
zt 让光标所杂的行居屏幕最上一行 t=top
zb 让光标所杂的行居屏幕最下一行 b=bottom


全选


ggVG
稍微解释一下上面的命令

gg 让光标移到首行,在vim才有效,vi中无效
V 是进入Visual(可视)模式
G 光标移到最后一行