一般模式下移动光标及复制剪切粘贴

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一般模式下移动光标及复制剪切粘贴相关的知识,希望对你有一定的参考价值。

1、移动光标

移动光标的时候,可以通过上下左右的方向键来操作,但是这样有点慢,下图说明了一些 vim 下比较常用的快捷键使用方法,
技术分享图片
空格键也是向右移动的快捷键,还可以通过数字来控制它的位置。例如先按下数字5,再按空格键的话,光标就会直接向右移动5个字符。h、j、k、l 这些快捷键也都支持使用数字来控制光标移动的数量。

2、vim 一般模式下移动光标的快捷方式

字符移动
h,j,k,l 左下上右
行内移动
w 正向移动到相邻单词的首字符
b 逆向移动到相邻单词的首字符
B 向前一个单词,以空格和TAB为分隔符
e 正向移动到相邻单词的尾字符
ge 逆向移动到相邻单词的尾字符
0 数字0,左移光标到本行的开始;
Shift + 6 ,左移光标到本行的开始;
Shift + 4 ,右移光标到本行的末尾;
$ 右移光标,到本行的末尾;
^ 移动光标,到本行的第一个非空字符
页移动
H 跳转到当前屏幕的第一行
M 跳转到本屏显示的中间一行
L 跳转到最后一行
2H 表示将光标移到屏幕的第2行
3L 表示将光标移到屏幕的倒数第3行
z + enter 是当前行成为屏幕的第一行
z + - 是当前一行成为最后一行
ctrl + f 在文件中前移一页(或 page down);
ctrl + b 在文件中后移一页(或 page up);
ctrl + d 往下滚动半屏
ctrl + u 往上滚动半屏
文件移动
gg 跳到首行
G 即 Shift +g ,跳到尾行
nG 跳转到n行,n 是任意数字,其中右下角也可以看到光标的位置,见下图,
技术分享图片
% 跳到另一边括号
配合查找字符的方式移动
fa 正向移动到第一个字符 a 处
Fa 逆向移动到第一个字符 a 处
非相邻的单词或字符间移动
8w 正向移动到相隔八个单词的首字符
4Fa 逆向移动到第四个 a 字符
更大范围的移动
当光标停留在一个单词上,* 键会在文件内搜索该单词,并跳转到下一处;
“ # ”当光标停留在一个单词上,“ # ”在文件内搜索该单词,并跳转到上一处;
(/) 移动到 前/后 句 的开始;
{/} 跳转到 当前/下一个 段落 的开始。
g 到本行最后一个不是 blank 字符的位置。
fa 到下一个为 a 的字符处,你也可以fs到下一个为s的字符。
t, 到逗号前的第一个字符。逗号可以变成其它字符。
3fa 在当前行查找第三个出现的 a。
F/T 和 f 和 t 一样,只不过是相反方向;
gg 将光标定位到文件第一行起始位置;
G 将光标定位到文件最后一行起始位置;
NG或Ngg 将光标定位到第 N 行的起始位置

3、复制剪切粘贴

技术分享图片

替换和删除
Vim常规的删除命令是 d、 x (前者删除 行 ,后者删除 字符 ),结合Vim的其他特性可以实现基础的删除功能。将光标定位于文件内指定位置后,可以用其他字符来替换光标所指向的字符,或从当前光标位置删除一个或多个字符或一行、多行
gg dG 删除全部内容
d0 删除至行首
dl 删除当前字符, dl=x
dh 删除前一个字符
dd 删除当前行
dj 删除上一行
dk 删除下一行
dw 删除到下一个单词开头
de 删除到本单词末尾
dE 删除到本单词末尾包括标点在内
db 删除到前一个单词
dB 删除到前一个单词包括标点在内
10d 删除当前行开始的10行
d$ 删除当前字符之后的所有字符(本行)
D 删除当前字符至行尾。D=d$
kd gg 删除当前行之前所有行(不包括当前行)
jdG 删除当前行之后所有行(不包括当前行)
:1,10d 删除1-10行
:11,$d 删除11行及以后所有的行
:1,$d 删除所有行
J 删除两行之间的空行,实际上是合并两行
rc 用 c 替换光标所指向的当前字符;
nrc 用 c 替换光标所指向的前 n 个字符;
5rA 用 A 替换光标所指向的前 5 个字符;
x 删除光标所指向的当前字符;
nx 删除光标所指向的前 n 个字符;
3x 删除光标所指向的前 3 个字符;
dw 删除光标右侧的字;
ndw 删除光标右侧的 n 个字;
3dw 删除光标右侧的 3 个字;
db 删除光标左侧的字;
ndb 删除光标左侧的 n 个字;
5db 删除光标左侧的 5 个字;
dd 删除光标所在行,并去除空隙;一次只能剪切一行
ndd 删除(剪切) n 行内容,并去除空隙;
3dd 删除(剪切) 3 行内容,并去除空隙;
Vim常规的替换命令有 c 和 s ,结合Vim的其他特性可以实现基础的替换功能,不过替换命令执行以后,通常会由 编辑模式 进入 插入模式
s 用输入的正文替换光标所指向的字符;
S 删除当前行,并进入编辑模式;
ns 用输入的正文替换光标右侧 n 个字符;
nS 删除当前行在内的 n 行,并进入编辑模式;
cw 用输入的正文替换光标右侧的字;
cW 用输入的正文替换从光标到行尾的所有字符(同 c$ );
ncw 用输入的正文替换光标右侧的 n 个字;
cb 用输入的正文替换光标左侧的字;
ncb 用输入的正文替换光标左侧的 n 个字;
cd 用输入的正文替换光标的所在行;
ncd 用输入的正文替换光标下面的 n 行;
c$ 用输入的正文替换从光标开始到本行末尾的所有字符;
c0 用输入的正文替换从本行开头到光标的所有字符。
复制粘贴
yy 拷贝当前行
nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行
“+y 复制 1 行到操作系统的粘贴板
“+nyy 复制 n 行到操作系统的粘贴板
:1,10 co 20 将1-10行插入到第20行之后
:1,co 将整个文件复制一份并添加到文件尾部
正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制
ddp 交换当前行和其下一行
xp 交换当前字符和其后一个字符
正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按d即可剪切
ndd 剪切当前行之后的n行。利用p命令可以对剪切的内容进行粘贴
:1,10d 将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。
:1, 10 m 20 将第1-10行移动到第20行之后。
x 剪切当前字符,即向后删除一个字符
3x 剪切当前光标开始向后三个字符,
X 剪切当前字符的前一个字符,即向前删除一个字符。X=dh
p (小写p)粘贴到下一行或右侧,修改和删除的数据自动到粘贴板中
P (大写P)粘贴到上一行或左侧
不规则剪切粘贴,可以先按 v 进入 visual mode 可视界面,通过上下左右方向键选中要替换的单词,再按小写 x 剪切,按小写 p 粘贴即可。
技术分享图片
yiw (yank inner word)在一个单词的任意字母使用,就复制该单词
yw 则只是复制从光标所在字母到词尾的部分
撤销和重复
u 撤销最近一次修改 undo;一次恢复一个操作,最多恢复50次。恢复到最原始的操作之后,左下角会出现文字“已位于最旧的改变”。
. 重复最后一条修改正文的命令
U 撤销所有修改
Ctrl + r 取消最后一次的撤销 redo
块编辑
v 可进入visual模式,使用标准快捷键移动光标可选择文本块,之后可输入标准编辑命令
ctrl + v 列编辑
行尾块…

插入模式
进入
i 在当前位置生前插入
I 在当前行首插入
a 在当前位置后插入
A 在当前行尾插入
o 在当前行之后插入一行
O 在当前行之前插入一行
s 删掉当前字符,并进行输入
x 删掉当前字符,停留在Normal模式
退出
Esc
ctrl + O 暂时性的
ctrl + C 取消当前的任何操作
ctrl + [ 官方推荐替换Esc
移动光标 尽量不要进入插入模式移动光标
ctrl + H 光标移当前行行首 imap
ctrl + J 光标移下一行行首 imap
ctrl + K 光标移上一行行尾 imap
ctrl + L 光标移当前行行尾 imap
Alt + H 光标左移一格 imap
Alt + J 光标下移一格 imap
Alt + K 光标上移一格 imap
Alt + L 光标右移一格 imap

以上是关于一般模式下移动光标及复制剪切粘贴的主要内容,如果未能解决你的问题,请参考以下文章

5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制剪切和粘贴

5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制剪切和粘贴

vim介绍vim颜色显示和移动光标vim一般模式下移动光标vim一般模式下复制剪切和粘贴

vim介绍 vim颜色显示和移动光标 vim一般模式下移动光标 一般模式下复制剪切粘贴

Linux centosVMware Vim介绍vim颜色显示和移动光标vim一般模式下移动光标vim一般模式下复制剪切和粘贴

四周第二次课(1月3日) 5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制剪切和粘贴