Linux Vim最全面的教程——全网最详细
hackferances 2024-06-16 14:37:04 阅读 59
一. 安装
1. 在Debian/Ubuntu下使用命令行安装Vim
输入以下命令:
$ sudo apt-get update $ sudo apt-get install vim
2. 在基于RPM的Linux系统上安装Vim
输入以下命令:
$ su - $ yum install vim
3. 判断Vim是否安装
输入以下命令:
$ which vim
如果已经安装,应该会输出vim的安装位置:
/usr/bin/vim
二. 配置
Vim将其配置存储在.vimrc的文本文件中,它位于用户的主目录下。
你可以通过修改.vimrc来修改配置,比如自动缩进等。
要修改vim配置,可以通过以下命令:
$ vim /home/user/.vimrc
请将其中的user改为你的用户名,或者也可以执行以下命令:
$ vim ~/.vimrc
这样就可以修改vim的配置了,你可以自行更改,可以参考我的配置:
" 设置tab为4个空格set ts=4set softtabstop=4set shiftwidth=4set expandtabset autoindent" 设置自动缩进set autoindent set cindentset shiftwidth=4set softtabstop=4set tabstop=4" 显示行号" set nu
其中的双引号" 是注释,我设置了一些常用模块便于写代码。
set用于设置参数,详细内容会在使用教程中说到。
三. 使用教程
A. Vim的基本教程
1. 打开Vim / 用Vim打开文件
从终端输入vim命令,如下所示:
$ vim
这将打开vim,如下:
要关闭它,请按 Esc 键,然后按冒号(:) 和 q。在 Vim 中,q 命令代表退出。此命令将显示在编辑器本身的左下角,如下所示:
要编辑一个文件test.c,可以通过以下命令:
vim test.c
如果有一些文件是只读的但你还是想修改,就要用root权限了:
sudo vim test.c
以只读方式打开:
vim -R test.c
使用view命令可以达到相同的效果:
$ view test.c
1. Vim中最常见的4个模式:
1. 普通模式
(官方的说法是命令模式,但是容易和命令行模式搞混,所以通常被称为普通模式)
这是 Vim 启动的默认模式。我们可以在此模式下输入编辑器命令。我们可以在此模式下使用各种命令,例如复制、粘贴、删除、替换等等。我们将在后面讨论这些命令。
2. 插入模式
您可以使用此模式输入/编辑文本。
要从默认命令切换到插入模式,请按 i 键。它将在编辑器的左下角显示当前模式。
当我们进入了插入模式,我们就可以输入任何文本,如下图:
使用 Esc 键从此模式切换回命令模式。
3.命令行模式
此模式也用于输入命令。此模式下的命令以 colon(:) 开头。我们可以从命令或插入模式进入此模式。
要从普通模式切换到此模式,只需输入冒号
要从插入模式切换到此模式,请按 Escape 并键入冒号
要退出命令行模式,Esc或者删除冒号
从这里开始,任何以冒号开头的 Vim 命令都表示我们正在命令行模式下执行该命令。
命令行模式下的命令将在后面讲到。
4.可视化模式
在这种模式下,我们可以直观地选择文本并在选定的部分上运行命令。
若要从命令模式切换到可视化模式,请键入 v
要从任何其他模式切换到可视化模式,请先按 Escape 切换回命令模式,然后键入 v 切换到可视模式
要退出可视化模式,请按Escape
在下图中,左下角显示了可视化模式:
2. 文件处理的简单步骤:
1. 创建并编辑一个文件:
输入以下命令打开vim:
$ vim
然后在vim中输入以下命令:
:edit test.txt
这将会打开test.txt,如果已经打开,此操作可以用作刷新。
切换到插入模式:
i
输入一些文本,然后按下以下按键回到普通模式:
Esc
保存该文件:
:w
这将创建test.txt文件,里面是你刚才输入的一些文本。
退出vim:
:q
2. 编辑现有文件:
执行以下步骤以编辑现有文件 -
使用 Vim 打开文件:
$ vim message.txt
切换到插入模式并在那里输入一些文本:
i
退出编辑器而不保存更改:
:q!
或者使用以下命令保存更改并退出编辑器 :
:wq
B. Vim命令及其作用大全
1. 文本的常用编辑
在执行这些操作前请确保你处于普通模式下。要进入普通模式,请按Esc键。
切换到插入模式,光标不动
要从普通模式切换到插入模式,而且光标呆在原来的位置,请输入该按键:
i
在行首插入文本
假设您位于行的中间,并且要在当前行的开头插入文本,只需输入该按键:
I
此操作会将光标移动到当前行的开头,并从普通模式切换到插入模式
在光标后面进入插入模式
要进入插入模式,同时光标向后移一位,按下该按键:
a
此操作将光标向右移动一个位置,并在插入模式下切换 Vim。
在行尾切换到插入模式
假设您位于行的中间,并且要在当前行的末尾附加文本,请输入以下按键:
A
此操作会将光标移动到行尾,并切换到插入模式。
在光标下方打开新行
假设您处于行的中间,并且想在当前行下方打开新行,清请按下该按键:
o
此操作将在当前行下方插入空行,并将 Vim 切换到插入模式
在光标上方打开新行
假设您处于行的中间,并且想在当前行上方打开新行,请按下以下按键:
O
此操作将在当前行上方插入空行,并将 Vim 切换到插入模式
删除文本
假设您要删除单个字符,要将光标移到你想删除的字符的位置,然后输入以下命令:
s
此操作将删除光标下的字符,如果你想删除一整行,请输入以下命令:
S
或者也可以输入该命令:
cc
如果你想删除一行内光标之后的文本,就键入该按键:人
C
这几个个操作都将在删除的同时切换到插入模式。
替换文本
要替换单个字符,输入以下命令:
r
然后输入其他的字符就能替换掉这一个字符了。
如果你想替换一整行的文本,输入以下命令:
R
连接文本
如果你想连接两行,键入以下该按键:
J
2. 光标操纵
1. 基本操纵
控制光标上下左右移动,以下命令可以做到此目的:
h | 光标向左移动一个位置 |
j | 光标向下移动一行 |
k | 光标向上移动一行 |
l | 光标向右移动一个位置 |
如果你想连续移动多个位置,可以在命令前添加数字,表示连续走多少行。例如,要让光标向下走10行,请执行以下命令:
10j
您也可以将数字与其余命令一起使用。
除此之外,还有以下这种有用的命令:
0 | 将光标移动到当前行的开头 |
$ | 将光标移动到当前行的末尾 |
Ctrl + f 组合键 | 向下滚动整个页面 |
Ctrl + b 组合键 | 向上滚动整个页面 |
2. 光标移到特定行
以下命令可用于导航到特定行:
:n | 跳转到第n行 |
:0 | 跳转到文件的开头 |
:$ | 跳转到文件的末尾 |
3. 单词操作
可以使用以下命令实现单词的各种操作:
w | 将光标移动到下一个单词的开头 |
e | 将光标移动到当前单词的末尾 |
b | 将光标移动到上一个单词的开头 |
4. 跳转操作
Vim使用跳转列表来跟踪李之前的操作(光标操作)。跳转列表跟踪你之前光标去过的所有地方。
要查看跳转列表,输入以下命令:
:jumps
以下命令用于你跳转的撤回或重做:
Ctrl + o 组合键 | 跳回光标的上一个位置(光标位置的撤回) |
Ctrl + i 组合键 | 跳转到光标的下一个位置(相当于光标的重做) |
3. 更复杂的编辑
1. 缓冲区
缓冲区是 Vim 使用的临时内存。当我们在vim中打开一个文件时,vim会从内存加载其内容。这些内容存储在内存 (RAM) 中,每当我们编辑文件时,我们实际上是在从缓冲区编辑文件。一旦我们完成编辑并保存文件,只有缓冲区内容被传输到适当的文件。
2. 交换区
交换区是 Vim 创建的用于定期存储缓冲区内容的文件。在编辑文件时,我们的更改可能会因任何原因而丢失,Vim 提供了交换文件以提供数据恢复。
要获取交换文件的实际名称,请执行以下命令:
:swapname
3. 剪切,复制粘贴等操作
我们经常对文本执行剪切、复制和粘贴等操作。
Vim 提供了以下命令来执行这些操作(y 代表 yank复制,p 代表paste粘贴操作):
x | 从光标位置删除字符 |
X | 从光标位置删除位置的上一个字符 |
y | 从光标位置复制单个字符 |
p | 在光标位置后粘贴字符 |
P | 在光标位置前粘贴字符 |
4. 多字符命令操作
我们也可以对单词和句子使用剪切、复制和粘贴命令。下表说明了这一点:
DW | 从光标位置删除单词 |
D | 从光标位置删除整行 |
DD | 删除整行 |
Y | 复制整行 |
如果你想执行多行/多单词操作,只需使用带有命令的数字即可。您也可以将此语法用于其他命令。比如,要删除 3 个单词,可以输入:
3dw
3. 撤消/重做操作
如果要撤销单个操作,输入以下命令:
u
若要执行多个撤消操作,就在操作前加数字。例如,要撤销3次,执行以下命令:
3u
除此之外,你还可以撤消所有的操作:
U
要对之前的撤销进行重做,可以执行以下命令:
Ctrl+R
或者也可以通过命令行重做:
:red
4. Vim之搜索/查找
1. 搜索的相关设置
要执行增量搜索,输入该命令:
:set incsearch
要突出显示搜索,输入该命令:
:set hlsearch
要禁用增量和突出显示的搜索,请执行以下命令:
:set noincsearch:set nohlsearch
你也可以把以上这些命令放到vim的配置文件中。
2. 在当前文件中搜索
1. 从前往后搜索
以下是从前往后搜索的相关命令:
/<表达式> | 从前往后搜索表达式 |
n | 找下一个搜索到的单词 |
N | 找前一个搜索到的单词 |
// | 重复往前查找 |
2. 从后往前查找
以下是从后往前搜索的相关命令:
?<表达式> | 从后往前搜索 |
n | 找前一个搜索到的单词 |
N | 找下一个搜索到的单词 |
?? | 重复往后查找 |
3. 用光标查找单词
将光标放在任意单词下并执行以下命令以执行单词搜索操作:
* | 搜索当前单词的下一个匹配项 |
# | 搜索当前单词的上一个匹配项 |
3. 在多个文件中搜索
使用vimgrep命令可以在多个文件中搜索一个词。比如该命令在所有文本文件中搜索Jarvis单词:
:vimgrep Jarvis *.txt
如果有多个单词存在,使用以下命令可以查询上一个或下一个单词:
:cn | 查找下一个匹配项 |
:cN | 查找前一个匹配项 |
四. Vim获取帮助
1. 访问帮助手册
帮助手册是 Vim 编辑器本身附带的,它非常全面。
要访问帮助,在普通模式下执行以下命令:
:help
2. 有关特定主题的帮助
帮助手册将显示有关 Vim 的全部帮助。如果我们只对某个主题感兴趣呢?Vim 也提供了命令,并提供了以下语法:
:help <主题名称>
在上面的命令中,将 <主题名称> 替换为您感兴趣的主题。例如,要访问有关 vim 模式的帮助,请执行以下命令:
:help modes
这将打开关于Vim下模式的教程:
3. 在手册中搜索帮助短语
只有知道特定主题的名称时,才能搜索特定主题。但是,如果您不知道帮助主题的确切名称怎么办。在这种情况下,您可以使用以下命令:
:helpgrep <phrase>
例如,要访问有关在 Vim 中导航的帮助,请执行以下命令
:helpgrep navigation
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。