本文共 4594 字,大约阅读时间需要 15 分钟。
温馨提示:请结合右边框的目录结构快速查看和判断是否内容为自己需要!
vi
说明vi
简介vi
学习的必要性要对远程服务器进行相关的配置文件的编辑,在无法使用图形界面的情况下操作导致学会使用vi/vim的必要性,这一点被视为必须学会使用vi/vim的最重要原因。
我想大多数情况下最好还是将文件下载下来修改完成,确定无误之后再提交可能是最好的方式,不然一条忘记判空 的 rm -rf(xxx==false)
可能导致令人帅歪歪的结果。
考虑到windows与linux即使在回车换行上都存在着差异,所以更加准确的最好使用服务器端的环境进行文件的编辑可以避免运行的异常。
在没有图形界面的环境下,要编辑文件,vi
是最佳选择,理由是系统自带,无需安装其他的插件/是软件!
vi
是 Visual interface
的简称,是 Linux
中系统自带的一块的文本编辑器。
键盘有效键位区域-红色标记部分。
vi
的特点:
会
/要么 不会
。vim
可以视为vim是对vi友好型的改进,vim = vi improved。
vim
是从 vi
发展出来的一个文本编辑器,支持 代码补全、编译 及 错误跳转 等方便编程的功能特别丰富,在程序员中被广泛使用,被称为 编辑器之神
但是我最想表达的是: 懵逼,一直懵逼,全程懵逼(我在哪儿,我在干什么,这特么是什么鬼玩意,我要怎么退出…
。
导致的结果是,这款牛逼的编辑器,需要极多的快捷键-包括但不限于组合键,快捷命令需要记忆!
Linux
发行版中直接把 vi
做成 vim
的软连接,比如执行 vi test
, 可能调用的是vim,vim初次进入编辑有简单的快捷键提示。# 查找 vi 的运行文件.which vils -l /usr/bin/vils -l /etc/alternatives/vils -l /usr/bin/vim.basic# 查找 vim 的运行文件.which vimls -l /usr/bin/vimls -l /etc/alternatives/vimls -l /usr/bin/vim.basic
vi
在后面跟上文件名 即可。# for example.# 当前目录下创建Test.py文件,若该文件存在则打开该文件。vi Test.py
vi Test.py + number
。# 打开Test.py,并且光标移动到10行。vi Test.py + 10
提示:如果只带上
+
而不指定行号,会直接定位到文件末尾。
vi
异常退出,在磁盘上会保存Test.py.swap。d
可以将其删除。提示:按下键盘时,注意关闭输入法。
vi
有三种基本工作模式:
vi
的 入口,可以理解为预览模式。vi
返回到控制台,需要在末行模式下输入命令vi
的 出口esc
到 命令行
模式。以此为中转,i
编辑;或者是 :
末行模式。提示:在
Touch Bar
的 Mac 电脑上 ,按ESC
不方便,可以使用CTRL + [
替代。
# 按esc进入命令行模式,:切换到末行模式,x保存并且退出。:x
vi
之所以快,关键在于 能够快速定位到要编辑的代码行vi
的命令较多,记忆很多的命令行只会是忘记的更多而已,先掌握基础的即可,熟练使用之后可以看手册,效果更好。前提条件,在命令行模式之下,或者叫做预览模式之下进行的光标移动!
0
,不是字母 O
!# 比如我要移动要16行,命令行模式之下。16gg# 第二种方式.16G# 第三种方式,`:` 切换到末行模式!:16
vi
中使用 空行
来区分段落.()
、[]
、{}
都是成对出现的。%
跳转到该行的括号位置。ma
,跳转到其他位置后在命令行模式之下可以通过 ``a` 快速跳转回来。vi
中要选择文本,需要先使用 Visual
命令切换到 可视模式。按 ESC
可以放弃选中,返回到 命令模式。
可视模式下,可以和光标移动连用,例如:ggVG
能够选中所有内容。gg是行首行首,G是末行行末!
提示:如果使用 可视模式 已经选中了一段文本,那么无论使用
d
还是x
,都可以删除选中文本。注意删除/剪切针对的是在vi下,自己独有的缓冲区保存,不是将剪切/删除的内容保存在剪贴板。
* dw # 从光标位置删除到单词末尾.* d0 # 从光标位置删除到一行的起始位置.* d} # 从光标位置删除到段落结尾.* ndd # 从光标位置向下连续删除 n 行.* d代码行G # 从光标所在行 删除到 指定代码行 之间的所有代码.* d'a # 从光标所在行 删除到 标记a 之间的所有代码.
提示:
d
、x
类似于图形界面的 剪切操作 —— CTRL + X
y
类似于图形界面的 复制操作 —— CTRL + C
p
类似于图形界面的 粘贴操作 —— CTRL + V
vi
中的缓冲区类似于剪贴板可以替换。再次温馨提示:
vi
中的 文本缓冲区 和系统的 剪贴板 不是同一个!CTRL + C
复制的内容,不能在 vi
中通过 P
命令粘贴R
命令可以进入 替换模式,替换完成后,按下 ESC
可以回到 命令模式!Next
查找下一个出现的位置: n
: 查找下一个。N
: 查找上一个。vi
中查找和替换命令需要切换到末行模式下执行。:%s///g
:%s/旧文本/新文本/g
:s/旧文本/新文本/g
g
改成 gc
在替换的时候,会有提示!推荐使用!:%s/旧文本/新文本/gc
y
- yes
替换n
- no
不替换a
- all
替换所有q
- quit
退出替换l
- last
最后一个,并把光标移动到行首^E
向下滚屏^Y
向上滚屏vi
中进入编辑模式方式有以下几种:可视块
模式,V进入的是行模式!简而言之就是:
选中行->行首插入#(可视化行模式可能比可视化块模式此时更有益处)->esc返回。
vi
的高级命令 —— 可以 同时编辑和查看多个文件分屏窗口都是基于
CTRL + W
这个快捷键的,w
对应的英文单词是window
,切换之后才能继续使用下面的命令行。
分屏窗口都是基于
CTRL + W
这个快捷键的,w
对应的英文单词是window
。
调整窗口宽高的命令可以和数字连用,例如:
5 CTRL + W +
连续 5 次增加高度
vimrc
是 vim
的配置文件,可以设置 vim 的配置,包括:热键、配色、语法高亮、插件 等Linux
中 vimrc
有两个位置,用户主目录下的配置文件优先级更高。/etc/vim/vimrc~/.vimrc
python
开发的 vimrc
文件,可以下载过来直接使用,或者等大家多 Linux
比较熟悉后,再行学习!转载地址:http://wrwiz.baihongyu.com/