10.1 vim 编辑器
vi 编辑器是 Unix 系统最初的编辑器。在 GNU 项目将 vi 编辑器移植到开源世界时,他们做了一些改进,并将它重新命名为 vi improved,或 vim。
10.1.1 检查 vim 软件包
在开始研究 vim 编辑器之前,最好先搞明白你所用的 Linux 系统是哪种 vim 软件包。
$ alias vi
alias vi='vim'
$
$ which vim
/usr/bin/wim
$
$ ls -l /usr/bin/vim
-rwxr-xr-x. 1 root root 19677072 Apr 5 2012 /usr/bin/vim
$
在 Ubuntu 中安装基础版的 vim 包:$ sudo apt-get install vim
10.1.2 vim 基础
vim 在内存缓冲区中处理数据。
如在启动 vim 时未指定文件名,或者文件不存在,vim 会开辟一段新的缓冲区域来进行编辑。
如果文件是新建的,会在底部消息行出现消息 [New File]。
vim 有两种操作模式:普通模式、插入模式。
刚打开时会进入普通模式,此时 vim 会将你的按键解释成命令,按下 i
键就可以进入插入模式,退回普通模式按 ESC键
。
普通模式中:
移动光标:
h
:“左”(移一个字符);j
:“下”(移一行);k
:“上”;l
:“右”。
快速移动光标:
Ctrl+F
(PageDown
):下翻一屏;Ctrl+B
(PageUp
):上翻一屏;G
:移到缓冲区的最后一行;num G
:移到缓冲区中的第 num 行;gg
:移到缓冲区的第一行。
普通模式下还有一个命令行模式,在普通模式下按 :
启动。下面是几个常用命令:
-q
:如果未修改缓冲区数据,退出;
-q!
:取消所有对缓冲区数据的修改并退出;
-w filename
:将文件保存到另一个文件中;
-wq
:将缓冲区数据保存到文件中并退出。
10.1.3 编辑数据
在插入模式下,你可以向缓冲区插入数据。
在普通模式下,vim 提供了一些命令来编辑缓冲区中的数据:
命令 | 描述 |
---|---|
x |
删除当前光标所在位置的字符 |
dd |
删除当前光标所在的行 |
dw |
删除当前光标所在位置的单词 |
d$ |
删除当前光标所在位置至行尾的内容 |
J |
删除当前光标所在行行尾的换行符(拼接行) |
u |
撤销前一编辑命令 |
a |
在当前光标后追加数据 |
A |
在当前光标所在行行尾追加数据 |
r char |
用 char 替换当前光标所在位置的单个字符 |
R text |
用 text 覆盖当前光标所在位置的数据,直到按下 ESC 键 |
10.1.4 复制和粘贴
剪切
vim 删除数据时,实际上会将数据保存在一个寄存器中,可以用 p
命令取回数据。
复制
vim 中复制是 y
(yank)。
yd
:复制光标所在行;yw
:复制光标所在单词;y$
:复制至行尾。
复制后,把光标移至想要粘贴的地方,输入 p
命令就可以完成粘贴。
10.1.5 查找和替换
查找
查找一个字符,普通模式下,按斜线(/
),输入想要查找的文本,按回车键。要查找的文本就会高亮显示。取消高亮,输入 :nohl
。
替换
替换的命令格式::s/old/new
(只用这个最基础版命令只能替换当前光标所在行的第一个字符串)
-:s/old/new/g
:替换当前光标所在行所有 old;
-:n,ms/old/new/g
:替换行号 n 和 m 之间所有 old;
-:%s/old/new/g
:替换整个文件中的所有 old;
-:%s/old/new/gc
:替换整个文件中的所有 old(常用);
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于