shell学习之vim编辑器使用指南
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell学习之vim编辑器使用指南相关的知识,希望对你有一定的参考价值。
前言:
vim是Linux系统上的最著名的文本/代码编辑器,也是早年的vi编辑器的加强版。而gVim则是其Windows版。它的最大的特色是完全使用键盘命令进行编辑,脱离了鼠标操作虽然使得入门变得困难,但上手之后键盘流的各种巧妙组合操作却能带来极为大幅的效率提升。
vi介绍:
vi分为三种模式:命令行模式、一般模式、编辑模式。
三种模式介绍:
一般模式:vi处理文件时,一进入该文件,就是一般模式了。在这个模式中,可以使用“上下左右”键来移动光标,可以使用“删除字符”或“删除整行”来处理文件内容,也可以使用“复制、粘贴”来处理文件数据。
编辑模式:在一般模式中可以进行删除、复制、粘贴等操作,却无法进行编辑操作。要等到按下“i、I、o、O、a、A、”等字母之后才会进入编辑模式。注意,通常在Linux中,按下上述字母时,画面的左下方会出现“INSERT或REPLACE”的字样,才可以输入任何字到文件中。如果要回到一般模式时,则必须要按下Esc键才可以退出编辑模式。
命令行模式:在一般模式中,输入“: 或 / 或 ? ”就可以将光标移到最下面的那一行,在这个模式中,您可以搜索数据,而且读取、存盘、大量删除字符、离开vi、显示行号等操作都可以在此模式下使用。
详细介绍三种模式下的操作说明、
一般模式 | |
移动光标类 | |
字符 | 字符说明 |
上键(同k) | 光标向上移动一个字符 |
下键(同j) | 光标向下移动一个字符 |
左键(同h) | 光标向左移动一个字符 |
右键(同l) | 光标向右移动一个字符 |
gg(同{) | 光标移动至当前文件行首(常用) |
G(同}) | 光标移动至当前文件行尾(常用) |
nG | 光标移动至n行(n为数字,如果n为9,则光标移动至第9行) |
fn | 光标移动至当前行的下一个n字母处(n表示当前行的下一个字母) |
Fn | 光标移动至当前行的上一个n字母处 |
w | 光标移动至当前行的下一个单词处 |
nw | 光标移动至当前行的后n个单词处(n为数字,如果n为9,则光标移动至第9个单词) |
b | 光标移动至当前行的上一个单词处 |
nb | 光标移动至当前行的前n个单词处(n为数字,如果n为9,则光标移动至第9个单词) |
e(不分大小写) | 移至光标所在字符的末尾处 |
b(不分大小写) | 移至光标所在字符的行首处 |
( | 光标移动至所在段落的句首处 |
) | 光标移动至所在段落的句末处 |
H | 光标移至当前页的顶行 |
M | 光标移至当前页的行中 |
L | 光标移至当前页的行尾 |
nl(这里是字母L小写) | 光标跳转到第#个字符(n表示数字) |
屏幕翻滚类 | |
Pg Up键(Ctrl+b) | 光标向上移动一页 |
Pg Dn键(Ctrl+f) | 光标向下移动一页 |
Ctrl+d | 光标向下翻半屏(了解) |
Ctrl+u | 光标向上翻半屏(了解) |
0或home键或^ | 光标移动至当前行的行首(常用) |
$键或End键 | 光标移动至当前行的行尾(常用) |
复制、粘贴、删除与替换类 | |
x | 删除当前光标的字符(可以指定删除几个字符) |
X | 删除光标之前的一个字符(可以指定删除几个字符) |
dd | 删除当前光标所在行 |
ndd | 删除指定n行之后的所有的行(n位7,则删除第7行之后的内容) |
d$ | 删除光标之后所在的当前行内容 |
J | 删除换行符,将两行合并为一行 |
C | 删除当前行并进入编辑模式 |
u | 撤销上一步操作(非常重要) |
yy | 复制当前行 |
yw | 复制当前光标的出的一个字符 |
nyw | 复制光标之后的n个字符(n表示数字) |
p | 粘贴至光标所在行的之后 |
P | 粘贴至光标所在行的之前 |
r | 替换光标处的字符 |
R | 替换光标所到处的所有字符,直到Esc键退出 |
其他类 | |
Ctrl+g | 列出当前光标所在行的行号 |
#键 | 查找当前光标所在的相同字符(使用n可以向下翻找,N向上翻找) |
cw | 更改当前光标所在处的字符 |
cnw | 更改当前光标所在处的n个字符(n表示数字) |
ZZ | 保存当前文件所做的修改并退订(等同于命令行模式下的:wq) |
编辑模式 | ||
字符 | 字符说明 | |
a | 在光标后面插入内容 | |
A | 在光标前面插入内容 | |
o | 在光标所在行的下一行插入内容 | |
O | 在光标所在行的上一行插入内容 | |
i | 在光标所在行的行首插入内容 | |
I | 在光标所在行的行尾插入内容 | |
s | 删除光标下的字符并进入编辑模式 | |
S | 删除光标所在行的字符并进入编辑模式 |
命令行模式 | |
文件内字符替换 | |
字符 | 字符说明 |
:s/root/admin/ | 将当前光标所在行第一个出现的root替换为admin,没有则不替换 |
:s/root/admin/g | 将当前光标所在行内的所有root替换为admin |
:3,5 s/root/admin/g | 将光标的第三行至第五行内的所有root替换为admin |
:% s/root/admin/g | 将当前文件内容的所有root替换为admin |
:s/root/admin/c | 将当前光标所在行的第一个出现的root替换为admin,替换时需要手动确认,才可以替换。 |
保存与退出 | |
:w | 保存不退出 |
:wq | 保存并退出 |
:wq! | 保存并强制退出 |
:x | 保存并退出 |
其他类 | |
:set nu | 添加行号 |
:set nonu | 取消行号 |
:set ignorecase | 忽略大小写 |
:split | 水平分割窗口 |
:vsplit | 垂直分割窗口 |
/root(同?) | 查询文件内容的root字符位置(按n查询下一个root,N查询上一个root) |
vi (选项) (参数)
-b :以二进制模式打开文件,用于编辑二进制文件和可执行文件;
-d :以diff模式打开文件,当多个文件编辑时,显示文件差异部分;
-l :使用lisp模式,打开”lisp”和”showmatch”;
-m : 取消写文件功能。重设”write”选项;
-M :关闭修改功能;
-n :不实用缓存功能;
-R :以只读方式打开文件;
-s :安静模式,不现实指定的任何错误信息;
+<行号> :从指定行号的行开始显示文本内容;
-c<指令> :在完成对第一个文件编辑任务后,执行给出的指令;
-o<文件数据> :指定同时打开指定数据的文件;
本文出自 “NJ小生” 博客,请务必保留此出处http://000011211684.blog.51cto.com/9853378/1922897
以上是关于shell学习之vim编辑器使用指南的主要内容,如果未能解决你的问题,请参考以下文章