上古神器Vim(不用鼠标的文本编辑器)
演示环境
主题 | 内容 |
---|---|
操作系统 | Kali(基于 Debian 的 Linux 发行版) |
虚拟机 | VMware |
操作系统版本 | Kali-2022-3 |
Vim
所有的Unix Like(类 Unix 系统)都会内置文本编辑器 Vi (Visual Editor)。Vim (Visual Editor Improved) 是从Vi 发展出来的一款类似 Vi的功能强大,高度可定制的文本编辑器。
Vim是跨平台编辑器,可用于大多数流行平台,如 Windows、Linux、Mac 和其他 UNIX 变体。 它是以命令为中心的编辑器,因此初学者可能会发现很难使用它。 但是一旦你掌握了它,你就可以用几个 Vim 命令解决许多复杂的文本相关任务。
vim的设计理念是命令的组合。用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,如果能够灵活组合使用的话,能够比那些没有多种模式的编辑器更加高效的进行文本编辑。同时Vim与很多快捷键设置和正则表达式类似,可以辅助记忆,并且vim针对程序员做了优化。
Vim 在程序员中被广泛使用,和 Emacs 并列成为类Unix系统用户最喜欢的文本编辑器。
上述内容整理自网络
Vim 的特点
它的内存占用非常低
它以命令为中心。 您可以使用几个命令执行复杂的文本相关任务
它是高度可配置的,使用简单的文本文件来存储它的配置
有许多可用于 Vim 的插件。 使用这些插件可以很好地扩展其功能
它支持多个窗口。 使用此功能可以将屏幕拆分为多个窗口
同多窗口,也支持多缓冲区
它支持多个选项卡,可以处理多个文件
支持录制功能,可以重复录制和播放 Vim 命令
上述内容引用自 w3schools
光标设置
前情
在 Vim 中,光标的默认样式是这样的。
由于下文中常以 光标之前,以及光标之后来描述命令的效果,若通过默认光标来分析命令的效果会有些混乱。若你能明白默认光标的光标之前与光标之后的具体范围
位置 | 范围 |
---|---|
光标之前 | 默认光标即白色方块前的内容。 |
光标之后 | 默认光标即白色方块包含的内容及其之后的内容。 |
,便不必进行光标设置的操作。否则,希望你能通过光标设置来更具体的感受 Vim 命令带来的效果。
光标设置的具体步骤 (Kali)
点击 查看 –> 光标样式 –> 条状光标 即可切换为我们常使用的条状光标。
这样设置后,光标之前以及光标之后将更为直观。
Vim 的三种模式
-
命令模式(普通模式)
在进入 Vim 后,进入的第一个模式即为命令模式。在此模式下,
部分按键按下后将被当作命令执行。
若进入了其他模式想进入命令模式,可通过按下 Esc 键或 Ctrl + [ 或 Ctrl + c进入命令模式。 -
编辑模式(插入模式)
进入编辑模式即可对当前文件进行编辑,进入编辑模式的方式有多种,如下:
命令 | 内容 |
---|---|
i | 在光标当前所处位置之前开始编辑 |
a | 在光标当前所处位置之后开始编辑 |
A | 在光标当前所处行的行末开始编辑 |
I | 在光标当前所处行的行首开始编辑 |
o | 在光标当前所处行向下开辟新的一行,光标将移动到新行的行首。 |
O | 在光标当前所处行向上开辟新的一行,光标将移动到新行的行首。 |
- 底线命令模式
底线命令模式常用来输入比较复杂的命令。在命令模式下输入 : 即可进入底线命令模式。
命令模式中的常用命令
命令 | 效果 |
---|---|
i | 进入输入模式以编辑文本。 |
x | 删除光标目前所选中的字符。 |
: | 切换到底线命令模式。 |
k 或 上箭头 | 使光标向上移动。 |
j 或 下箭头 | 使光标向下移动。 |
h 或 左箭头 | 使光标向左移动。 |
l 或 右箭头 | 使光标向右移动。 |
– | 使光标向上移动一行。 |
+ | 使光标向下移动一行。 |
Ctrl + f | 屏幕向下翻一页,相当于按键 [Page Down]。 |
Ctrl + b | 屏幕向上翻一页,相当于按键 [Page Up]。 |
Ctrl + d | 屏幕向下移动半页 。 |
Ctrl + u | 屏幕向上移动半页 。 |
0 或功能键 [Home] | 将光标移动到本行第一列。 |
$ 或功能键 [End] | 将光标移动到本行行末。 |
G | 移动到当前文本文件的最后一行。 |
gg | 移动到当前文本文件的第一行。 |
n [Enter] | 向下移动n行。 |
n G | 移动到第n行。 |
n [space] | 将光标向右移动n位。 |
H | 将光标移动到命令行窗口范围的靠上位置。 |
M | 将光标移动到命令行窗口范围的中间位置。 |
L | 将光标移动到命令行窗口范围的靠下位置。 |
x | 删除光标后的单个字符,相当于 [Del] 键。 |
X | 删除光标前的单个字符,相当于 [BackSpace] 键。 |
d d | 将光标所在行的所有内容剪切。 |
n d d | 剪切当前行及后几行,总共 n 行的内容。 |
D | 将光标所处位置到行末间的内容进行剪切 。 |
d $ | 将光标所处位置到行末间的内容进行剪切 。 |
d 0 | 将光标所处位置到行首间的内容进行剪切。 |
d n G | 剪切光标当前所处行到第 n 行间的内容,当n与行号相同时即剪切本行内容。 |
d G | 剪切光标当前所处行到最后一行间的内容,若本行即为最后一行则剪切本行内容。 |
p | 将剪切的内容复制到光标所处行的下一行,在粘贴行内容才有此区别。 |
P | 将剪切的内容粘贴到光标处。 |
y y | 复制光标所处行的所有内容。 |
n y y | 复制当前行及后几行,总共 n 行的内容 。 |
y $ | 将光标所处位置到行末间的内容进行复制 。 |
y 0 | 将光标所处位置到行首间的内容进行复制。 |
y n G | 复制光标当前所处行到第 n 行间的内容,当n与行号相同时即复制本行内容。 |
y G | 复制光标当前所处行到最后一行间的内容,若本行即为最后一行则复制本行内容。 |
J | 将光标当前所处行及其下一行合并为一行,两行内容间会被一个空格分隔。 |
u | 回到前一个命令使用前的状态,前一个命令不包括 u 命令即复原命令。 |
U | 回到打开临时文件时的状态,即撤销文件执行的所有操作。 |
. | 重复执行上一次的命令,上一次的命令不包括 . 命令。 |
> G | 增加从当前命令行到文档末尾处的缩进层级。 |
f n | 将光标移动到光标之后的指定字符 n 之前,使用该命令后可通过敲击 ; 来查找下一个匹配的字符。 |
F n | 将光标移动到光标之前的指定字符 n 之前,使用该命令后可通过敲击 ; 来查找下一个匹配的字符。 |
s | 剪切光标之后的首个字符后进入编辑模式。 |
注:
- 部分命令可以通过先键入数值再键入命令的方式重复执行多次。如 (仅举出部分):
命令 | 功能 |
---|---|
n x | 剪切光标后的 n 个字符 |
n h | 将光标向右移动 n 个占位 |
类似的命令还有许多,请自行探索。
- 使用剪切命令及复制命令等命令,光标可能发生移动。
底线命令模式中的常用命令
命令 | 效果 |
---|---|
:w | 将临时文件中的内容写入位于硬盘中的相关文件中。 |
:w! | 将临时文件中的内容强行写如位于硬盘中的相关只读文件中。能否写入成功取决于你对该文件的权限。 |
:q | 退出文本编辑器 Vim 。 |
:q! | 对文件进行了修改,但不想将这些修改保存在位于硬盘中的相关文件中,则可通过该命令强制退出。 |
:wq | 将临时文件中的内容写入位于硬盘中的相关文件中后退出文本编辑器 Vim。 |
:wq! | 将临时文件中的内容强制写入位于硬盘中的相关文件后退出文本编辑器 Vim。 |
:set nu | 该命令等效于 :set number,功能是为 Vim 文本编辑器设置行号提醒。 |
:set nonu | 该命令相当于 :set nonumber,功能是为 Vim 文本编辑器取消行号提醒。 |
:h n | 该命令与 :help n 命令的效果相同。打开 Vim 编辑器内置的命令帮助文档,并在其中找到关于命令 n 的部分。其中命令 n 可为组合按键,如 :h ctrl-c。使用该命令查找对应的帮助文档可以不用太在意命令的大小写形式。 |
Vim 的特殊操作
在 Visual Studio Code 中使用 Vim
安装 Vim 插件
3. 选择第一个进行安装,安装成功后即可在 VScode 中使用 Vim。
禁用 Vim 插件
卸载 Vim 插件
在 Visual Studio 2022 中使用 Vim
安装 Vs Vim 2022 插件
在 Pycharm 中使用 Vim
安装 IdeaVim 插件
-
打开Pycharm的设置面板
点击 File
点击 Settings… 进入设置面板。
除了使用上述方式进入设置面板外,还可以使用快捷键 Ctrl-Alt+S 进入设置面板。 -
重启后即可像使用 Vim 一般使用 Pycharm了。
关闭 IdeaVim插件
安装 IdeaVim 插件后会发现 P有charm 界面多了个按钮。
点击按钮将弹出如下菜单。
点击 Enabled 后即可禁用 IdeaVim 插件。
卸载 IdeaVim插件
要卸载 IdeaVim 插件,首先需要进入设置界面。尝试按快捷键 Ctrl-Alt-S 进入设置界面,然后依照如下顺序开始删除此插件。
点击 Uninstall 开始卸载 IdeaVim 插件。
点击 Yes 确认删除 IdeaVim 插件。
删除插件后需要重启 Pycharm,点击 Restart IDE 重启 Pycharm。
点击Restart 确认重启。
重启后 IdeaVim 也将被卸载干净。
持续更新中
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/84059.html