我知道组合Ctrl+ A跳转到当前命令的开头,而Ctrl+ E跳转到结尾。
但是,有什么方法可以像Cocoa应用程序中的Alt+ ←/ 一样逐字跳跃→吗?
ALT
快捷方式已被添加到终端在最新的OS X版本。欢迎各位兄弟 发布技术文章
这里的技术是共享的
光标移动快捷键
Ctrl + a 移动到行首
Ctrl + e 移动到行尾
Ctrl + f 右移1个字符
Ctrl + b 左移一个字符
Ctrl + t 交换光标前两个字符
Ctrl + <- 左移一个单词 (mac的话 Alt + 左箭头) (linux是 Alt+B)
Ctrl + -> 右移一个单词 (mac的话 Alt + 右箭头) (linux是 Alt+F)
Ctrl + u 删除到行首(还有剪切功能)
Ctrl + k 删除到行尾(还有剪切功能)
Ctrl + w 删除光标前面的单词的字符(删除前面所连着的单词)
Alt + d 删除后一个单词
Ctrl + y 粘贴或者恢复上次的删除
Ctrl + r 搜索History中的命令
Ctrl + z : 后台运行,fg恢复
Ctrl – xx :在命令行尾和光标之间移动
————————————————
来自 https://blog.csdn.net/qq_28112995/article/details/106167254
涉及在linux命令行下进行快速移动光标、命令编辑、编辑后执行历史命令、Bang(!)命令、控制命令等。让basher更有效率。
常用
Ctrl + 左右键:在单词之间跳转
Ctrl + A:跳到本行的行首
Ctrl + E:跳到页尾
Ctrl + U:删除当前光标前面的所有文字(还有剪切功能)
Ctrl + K:删除当前光标后面的所有文字(还有剪切功能)
Ctrl + L:进行清屏操作
Ctrl + Y:粘贴Ctrl + U或Ctrl + K剪切的内容
Ctrl + W和Alt + D:对于当前的单词进行删除操作,W删除光标前面的单词的字符,D则删除后面的字符
Alt + Backsapce:删除当前光标后面的单词
说明
Ctrl + K: 先按住 Ctrl 键,然后再按 K 键;
Alt + K: 先按住 Alt 键,然后再按 K 键;
Esc + K:先单击 Esc 键,然后再按 K 键。
移动光标
Ctrl + A:移到行首
Ctrl + E:移到行尾
Ctrl + B:往回(左)移动一个字符(相当于左键)
Ctrl + F:往后(右)移动一个字符(相当于右键)
Ctrl + XX:(两个X)在命令行尾和光标之间移动
Alt + B:往回(左)移动一个单词
Alt + F:往后(右)移动一个单词
Esc + B:往回(左)移动一个单词
Esc + F:往后(右)移动一个单词
Esc + T:交换光标位置前的两个单词
编辑命令
Ctrl + H :删除光标左方位置的字符
Ctrl + D:删除光标右方位置的字符(注意:当前命令行没有任何字符时,会注销系统或结束终端)
Ctrl + W :由光标位置开始,往左删除单词。往行首删
Alt + D :由光标位置开始,往右删除单词。往行尾删
Esc + D :由光标位置开始,删除单词,直到该单词结束。
Ctrl + K :由光标所在位置开始,删除右方所有的字符,直到该行结束。
Ctrl + U :由光标所在位置开始,删除左方所有的字符,直到该行开始。
Ctrl + Y :粘贴之前删除的内容到光标后。
Ctrl + T :交换光标处和之前两个字符的位置。
Alt + . :使用上一条命令的最后一个参数。
Ctrl + _ :回复之前的状态。撤销操作。
Ctrl + A + K ,或 Ctrl + E + U 或 Ctrl + K + U 组合可删除整行。
查找历史命令
Ctrl + P:显示当前命令的上一条历史命令(相当于上键)
Ctrl + N:显示当前命令的下一条历史命令(相当于下键)
Ctrl + R:搜索历史命令,随着输入会显示历史命令中的一条匹配命令,Enter键执行匹配命令;ESC键在命令行显示而不执行匹配命令。
Ctrl + G:从历史搜索模式(Ctrl + R)退出。
控制命令
Ctrl + L:清除屏幕,然后,在最上面重新显示目前光标所在的这一行的内容。
Ctrl + O:执行当前命令,并选择上一条命令。
Ctrl + S:阻止屏幕输出
Ctrl + Q:允许屏幕输出
Ctrl + C:终止命令
Ctrl + Z:挂起命令(使用‘fg’命令恢复)
重复执行操作动作
Esc – 操作次数 操作动作 : 指定操作次数,重复执行指定的操作。
Bang(!)命令
!! :执行上一条命令。
^foo^bar :把上一条命令里的foo替换为bar,并执行。
!wget :执行最近的以wget开头的命令。
!wget:p :仅打印最近的以wget开头的命令,不执行。
!$ :上一条命令的最后一个参数, 与 Alt - . 和 $_ 相同。
!* :上一条命令的所有参数
!*:p :打印上一条命令是所有参数,也即 !*的内容。
^abc :删除上一条命令中的abc。
^foo^bar :将上一条命令中的 foo 替换为 bar
^foo^bar^ :将上一条命令中的 foo 替换为 bar
!-n :执行前n条命令,执行上一条命令: !-1, 执行前5条命令的格式是: !-5
来自 http://www.bjpowernode.com/tutorial_linux_release_project/1558.html
来自 https://www.jianshu.com/p/3a0a84fd5b19
在Mac系统中并没有Home、End等键,所以在使用时并不是特别的顺手,但是有几个键位组合可以使Terminal的操作更加灵活方便。
1、将光标移动到行首:ctrl + a
2、将光标移动到行尾:ctrl + e
3、清除屏幕: ctrl + l
4、搜索以前使用命令:ctrl + r
5、清除当前行: ctrl + u
6、清除至当前行尾: ctrl + k
7、单词为单位移动:option + 方向键
来自 https://www.bbsmax.com/A/WpdKmoVnJV/
我知道组合Ctrl+ A跳转到当前命令的开头,而Ctrl+ E跳转到结尾。
但是,有什么方法可以像Cocoa应用程序中的Alt+ ←/ 一样逐字跳跃→吗?
ALT
快捷方式已被添加到终端在最新的OS X版本。Answers:
开箱即用,您可以使用非常奇怪的Esc+ F移至下一个单词的开头,而Esc+ B移至当前单词的开头。
Esc
+ F
,则只会插入字母。烦人!~/.inputrc
。在Mac OS X上-默认情况下,以下键盘快捷键有效。请注意,您必须在终端首选项中(在键盘选项卡下)使Option键像Meta一样运行
alt (⌥)+ 向前F跳F字
alt (⌥)+ B跳过B单词
我观察到,用于简单文本导航的默认emacs键绑定似乎适用于bash shell。您可以使用
alt (⌥)+ D删除从当前光标位置开始的单词
ctrl+ A跳到行首
ctrl+ E跳到行尾
ctrl+ K杀死从光标位置开始的行
ctrl+ Y从终止缓冲区粘贴文本
ctrl+ R从历史记录中反向搜索您过去键入的命令
ctrl+ S转发搜索(对我来说,在zsh中有效,但对bash无效)
ctrl+ F向前移动一个字符
ctrl+ B向后移动一个字符
ctrl+ W从光标位置向后删除单词
默认情况下,终端具有以下快捷方式来逐字移动(左右):
esc+ B(左)
esc+ F(右)
您可以配置alt+ ←并→为您生成这些序列:
打开终端首选项(cmd+ ,);
在“设置”选项卡上,选择“键盘”,然后双击⌥ ←
它(如果没有),或者添加它。
根据需要设置修饰符,然后在框中输入快捷键:esc+ B,生成文本\033b
(您不能手动输入此文本)。
重复右移字(esc+ F变成\033f
)
或者,您可以在textmate上参考此博客文章:
B
的背面或F
为前到Esc+
现场alt left
并alt right
生成了这些序列切换到iTerm2。它是免费的,比普通的旧终端好得多。此外,它还有许多用于自定义的选项,例如键盘快捷键。
我也很喜欢您可以使用cmd和1-9在选项卡之间切换。尝试一下,您将永远不会回到常规终端:)
如何在iterm2中设置自定义键盘首选项
安装iTerm2
启动,然后转到首选项窗格。
选择键盘配置文件选项卡
您可能需要将配置文件复制到新的内容,然后删除箭头快捷键(例如^+ Right/),Left或者如果您不关心备份,只需将其从默认配置文件中删除即可。
接下来,请确保已选择您修改过的个人资料(已加星标)
现在选择键盘标签(非常第一行)
单击加号按钮以添加新的键盘快捷键
在第一个框中,输入CMD+Left arrow
在第二个框中选择“发送转义码”
在第三个框中键入字母 B
重复所需的组合键。escape+ B向左移动一个单词,escape+ f向右移动一个单词。
你也不妨设立cmd+ d以删除光标前面的单词escape+d
我经常用箭头键敲击错误的按钮(cmd/ control/ alt),因此我将箭头键组合在一起的那些按钮都设置为向前和向后跳转,但是请执行最适合您的操作。
Ctrl + Arrow Left
或Right
- Up
与Down
工程:/尝试使用和不使用新的配置文件设置为默认值实际上,有更好的方法。按住option(alt在某些键盘上),然后向左或向右按箭头键逐字移动。就那么简单。
option←
option→
还ctrle可以将您带到行尾,ctrla并将您带到行头。
[D
和[C
。为了解决这个问题,添加bind '"[D": backward-word'
和bind '"[C": forward-word'
我的.bashrc
。.bashrc
但是没有用,对我来说有什么问题吗?(我使用RubyMine).bashrc
终端启动时RubyMine是否读取。尝试echo "here"
查看打开新终端时是否显示该消息。另外,您必须关闭并重新打开终端,或者运行source ~/.bashrc
以使其读取新文件。我有Alt+ ←/ →工作:打开“首选项”»“设置”»“键盘”,设置选项光标左侧的条目以将字符串发送到外壳:\ 033b,设置选项光标右侧以将字符串发送到外壳:\ 033f。您也可以将其用于其他控制键组合。
Enable option as meta key
。顺便说一句,这很酷。关键是一定要方便多了要达到比较Esc键+ B或Esc键+ F实际上,这取决于您使用的外壳,但是大多数外壳具有相似的绑定。您所指的绑定(例如Ctrl+ A和Ctrl+ E)是您在许多其他程序中都可以找到的绑定,并且它们使用了很长时间,BTW在大多数UI应用程序中也可以使用。
这是Bash的默认绑定的外观:
另请注意,您可以自定义它们。您需要创建一个文件,其名称随心所欲,我将其命名为mine .bash_key_bindings并将其放入主目录。在这里,您可以设置一些常规的bash选项,还可以设置键绑定。为了确保应用它们,您需要修改一个名为“ .bashrc”的文件,该文件将在bash启动时读取(如果不存在,则必须创建它)并在其中进行以下调用:
bind -f ~/.bash_key_bindings
〜表示在bash中的主目录,如上所述,您可以根据需要命名文件,也可以将其放在您喜欢的位置,只要输入正确的路径名即可进行绑定。
让我向您展示我的.bash_key_bindings文件的一些摘录:
set meta-flag on
set input-meta on
set output-meta on
set convert-meta off
set show-all-if-ambiguous on
set bell-style none
set print-completions-horizontally off
这些仅设置了几个选项(例如,禁用铃声;可以在bash网页上全部查看)。
"A": self-insert
"B": self-insert
"C": self-insert
"D": self-insert
"E": self-insert
"F": self-insert
"G": self-insert
"H": self-insert
"I": self-insert
"J": self-insert
这些确保仅字符就什么都不做,而是确保字符是“输入”的(将自己插入到外壳中)。
"\C-dW": kill-word
"\C-dL": kill-line
"\C-dw": backward-kill-word
"\C-dl": backward-kill-line
"\C-da": kill-line
这很有趣。如果我一个人打Ctrl+ D(我选择d进行删除),则什么也不会发生。但是,如果我再输入小写字母w,则会删除光标左侧的单词。但是,如果键入大写字母,则光标右侧的单词将被杀死。对于从光标开始的整行,l和L同样适用。如果我键入“ a”,则实际上删除了整行(光标之前和之后的所有内容)。
我把跳向前移动一个单词Ctrl+ F上,一个字向后Ctrl+B
"\C-f": forward-word
"\C-b": backward-word
如您所见,您可以创建一个快捷方式,该操作可以立即导致一个操作,或者您可以创建一个快捷方式,该操作仅初始化一个字符序列,然后您必须键入一个(或多个)字符以使操作按以下步骤进行:如上例所示。
command
密钥代码如何?在您的示例中,control
是\C
,但是如何command
?Meta
bash(\M
)映射到,cmd + left为\M-\e[D
。但是,您无法将cmd + ...映射到任何内容,所有命令快捷方式都由终端应用程序本身处理(因此被吞没了)(从来没有转发到Shell),并且如果您有多个命令,则cmd + left映射到“上一个窗口”终端窗口打开。抱歉,使用终端应用程序是不可能的。使用自然文本编辑预设!
本质上,除了其他键序列外,它还绑定Option + LeftArrow到^[b
sequence和Option + RightArrow到^[f
这适用于fish和bash以及psql终端。
如果您恰好是Vim用户,则可以尝试bash的vim模式。运行此命令或将其放入~/.bashrc
文件中:
set -o vi
默认情况下,您处于插入模式;命中转义,您可以像在普通模式下的Vim一样来回走动,因此按字移动是w
或b
,通常的移动键也可以使用。
如果您Use option as meta key
在首选项的键盘选项卡中签入,则默认的emacs样式命令分别用于前向和后向单词以及⌥F
(Alt+ F)和⌥B
(Alt+ B)。
我建议阅读从Bash到Z-Shell。如果您想提高bash / zsh的实力!
iTerm2 Build 3.3.4用户的新答案:
步骤1:(macOS X)“系统偏好设置”>“键盘”>“快捷方式”选项卡>选择“任务控制”(左侧面板)>取消选中标记为“向左移动空间”和“向右移动空间”的快捷方式
步骤2:(iTerm2 Build 3.3.4)“首选项”>“配置文件”>“选择*默认值”(左面板)>“键”选项卡>删除“⌥->”和“⌥<-”条目,同时设置“左选项(⌥)”键: ”和“右键(⌥)键:”到Esc +
不要弄乱外壳轮廓,不要弄乱劣质masOS(默认)终端,不要笨拙地按Esc + F / B,冲洗并重复无意义。
木已成舟!!!
我的程序员程序员,请喜欢这篇技巧!
正如前面回答,您可以添加set -o vi
在您~/.bashrc
使用vi
/ vim
键绑定,否则你可以添加以下部分.bashrc
与移动Ctrl
和箭头键:
# bindings to move 1 word left/right with ctrl+left/right in terminal, just some apple stuff!
bind '"\e[5C": forward-word'
bind '"\e[5D": backward-word'
# bindings to move 1 word left/right with ctrl+left/right in iTerm2, just some apple stuff!
bind '"\e[1;5C": forward-word'
bind '"\e[1;5D": backward-word'
要开始执行这些代码行,请选择source ~/.bashrc
或开始一个新的终端会话。
Ctrl – a :移到行首
Ctrl – e :移到行尾
Ctrl – b :往回(左)移动一个字符
Ctrl – f :往后(右)移动一个字符
Alt – b :往回(左)移动一个单词
Alt – f :往后(右)移动一个单词
Ctrl – xx :在命令行尾和光标之间移动
M-b :往回(左)移动一个单词
M-f :往后(右)移动一个单词
Ctrl – h :删除光标左方位置的字符
Ctrl – d :删除光标右方位置的字符(注意:当前命令行没有任何字符时,会注销系统或结束终端)
Ctrl – w :由光标位置开始,往左删除单词。往行首删
Alt – d :由光标位置开始,往右删除单词。往行尾删
M – d :由光标位置开始,删除单词,直到该单词结束。
Ctrl – k :由光标所在位置开始,删除右方所有的字符,直到该行结束。
Ctrl – u :由光标所在位置开始,删除左方所有的字符,直到该行开始。
Ctrl – y :粘贴之前删除的内容到光标后。
ctrl – t :交换光标处和之前两个字符的位置。
Alt + . :使用上一条命令的最后一个参数。
Ctrl – _ :回复之前的状态。撤销操作。
Ctrl -a + Ctrl -k 或 Ctrl -e + Ctrl -u 或 Ctrl -k + Ctrl -u 组合可删除整行。
!! :执行上一条命令。
!wget :执行最近的以wget开头的命令。
!wget:p :仅打印最近的以wget开头的命令,不执行。
!$ :上一条命令的最后一个参数, 与 Alt - . 和 $_ 相同。
!* :上一条命令的所有参数
!*:p :打印上一条命令是所有参数,也即 !*的内容。
^abc :删除上一条命令中的abc。
!-n :执行前n条命令,执行上一条命令: !-1, 执行前5条命令的格式是: !-5 查找历史命令
Ctrl – p :显示当前命令的上一条历史命令
Ctrl – n :显示当前命令的下一条历史命令
Ctrl – r :搜索历史命令,随着输入会显示历史命令中的一条匹配命令,Enter键执行匹配命令;ESC键在命令行显示而不执行匹配命令。
Ctrl – g :从历史搜索模式(Ctrl – r)退出。
Ctrl – l :清除屏幕,然后,在最上面重新显示目前光标所在的这一行的内容。
Ctrl – o :执行当前命令,并选择上一条命令。
Ctrl – s :阻止屏幕输出
Ctrl – q :允许屏幕输出
Ctrl – c :终止命令
Ctrl – z :挂起命令
来自 https://www.linuxprobe.com/linux-terminal-kj.html
把下面这个放到bashrc的最下面
export DISPLAY=192.168.233.193:0
之后保存,执行如下指令。注意IP用你的IP,别直接复制。
source ~/.bashrc
tar 命令:
tar xvf trunk-master.tar
tar zxvf trunk-master.tar.gz
不详细列出解压文件
tar xf trunk-master.tar
** linux command **
ctrl+左右键:在单词之间跳转
ctrl+a:跳到本行的行首
ctrl+e:跳到页尾
Ctrl+u:删除当前光标前面的文字 (还有剪切功能)
ctrl+k:删除当前光标后面的文字(还有剪切功能)
Ctrl+L:进行清屏操作
Ctrl+y:粘贴Ctrl+u或ctrl+k剪切的内容
Ctrl+w:删除光标前面的单词的字符
Alt – d :由光标位置开始,往右删除单词。往行尾删
Ctrl – b :往回(左)移动一个字符
Ctrl – f :往后(右)移动一个字符
Alt – b :往回(左)移动一个单词
Alt – f :往后(右)移动一个单词
Ctrl – xx :在命令行尾和光标之间移动
1
2
3
4
5
编辑命令
Ctrl – h :删除光标左方位置的字符
Ctrl – d :删除光标右方位置的字符(注意:当前命令行没有任何字符时,会注销系统或结束终端)
Ctrl – w :由光标位置开始,往左删除单词。往行首删
Alt – d :由光标位置开始,往右删除单词。往行尾删
M – d :由光标位置开始,删除单词,直到该单词结束。
Ctrl – y :粘贴之前删除的内容到光标后。
ctrl – t :交换光标处和之前两个字符的位置。
Alt + . :使用上一条命令的最后一个参数。
Ctrl – _ :回复之前的状态。撤销操作。
!! :执行上一条命令。
^foo^bar :把上一条命令里的foo替换为bar,并执行。
!wget :执行最近的以wget开头的命令。
!wget:p :仅打印最近的以wget开头的命令,不执行。
!$ :上一条命令的最后一个参数, 与 Alt - . 和 $_ 相同。
!* :上一条命令的所有参数
!*:p :打印上一条命令是所有参数,也即 !*的内容。
^abc :删除上一条命令中的abc。
^foo^bar :将上一条命令中的 foo 替换为 bar
^foo^bar^ :将上一条命令中的 foo 替换为 bar
!-n :执行前n条命令,执行上一条命令: !-1, 执行前5条命令的格式是: !-5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
查找历史命令
Ctrl – p :显示当前命令的上一条历史命令
Ctrl – n :显示当前命令的下一条历史命令
Ctrl – r :搜索历史命令,随着输入会显示历史命令中的一条匹配命令,Enter键执行匹配命令;ESC键在命令行显示而不执行匹配命令。
Ctrl – g :从历史搜索模式(Ctrl – r)退出。
1
2
3
4
控制命令
Ctrl – l :清除屏幕,然后,在最上面重新显示目前光标所在的这一行的内容。
Ctrl – o :执行当前命令,并选择上一条命令。
Ctrl – s :阻止屏幕输出
Ctrl – q :允许屏幕输出
Ctrl – c :终止命令
Ctrl – z :挂起命令
1
2
3
4
5
6
git --depth = 1 代码更改 如果不作为开发者贡献 直接 = 1
给执行sh脚本权限
chmod +x run.sh
pacman -Q1 openvc
CMake command
ldd a.out 查看依赖库
cmake -B build
cmake --build build --target a.out
build/a.out
add_definitions(-DNOMINMAX)
**vim command **
:w 保存不退出
:w 新文件名 把文件另存为新文件
:q 不保存退出
:wq 保存退出
:! 强制
:q! 强制不保存退出,用于修改文件之后,不保存数据退出
:wq! 强制保存退出,当文件的所有者或 root 用户,对文件没有写权限的时候,强制写入数据使用
1)、上下左右移动光标
上、下、左、右方向键 移动光标
h(左) j(下) k(上) l(右) 移动光标
1
2
2)、光标移动到文件头或文件尾
gg 移动到文件头
G 移动到文件尾(shift + g)
1
2
3)、光标移动到行首或行尾
^ 移动到行首
$ 移动到行尾
1
2
4)、移动到指定行
:n 移动到第几行(这里的 n 是数字)
1
1)、删除字母
x 删除单个字母
nx 删除 n 个字母(n 是数字,如果打算从光标位置连续删除 10 个字母,可以使用 10x 即可)
1
2
2)、删除整行或剪切
dd 删除单行
ndd 删除多行
:n1,n2d 删除指定范围的行
1
2
3
删除行或多行,是比较常用的删除方法。这里的 dd 快捷键既是删除也是剪切。删除内容放入了剪切板 剪贴板,如果不粘贴就是删除,粘贴就是剪切。粘贴方法:
p 粘贴到光标下面一行
P 粘贴到光标上面一行
1
2
3)、从光标所在行删除到文件尾
dG 从光标所在行删除到文件尾(d 是删除行,G 是文件尾,连起来就是从光标行删除到文件尾)
1
3、复制
yy 复制单行
nyy 复制多行
1
2
复制之后的粘贴依然可以使用 p 键或 P 键
4、撤销
u 撤销
ctrl + r 反撤销
1
2
u 键能一直撤销到文件打开时的状态,ctrl + r 能一直反撤销到最后一次操作状态
5、替换
r 替换光标所在处的字符
R 从光标所在处开始替换字符,按 esc 键结束
1
2
4、末行模式操作
1、一些设置操作
设置参数含义:set nu
:set nonu显示与取消行号:syntax on
:syntax off是否依据语法显示相关颜色帮助。默认会显示相关颜色来帮助排错:set hlsearch
:set nohlsearch设置是否将查找的字符串高亮显示。默认是高亮显示:set showmode
:set noshowmode设置是否在左下角显示如“-INSERT-” 之类的状态栏。默认是开启的:set list
:set nolist设置是否显示隐藏字符。(tab 键用 “^I” 表示,回车符用 “$” 键表示)
注:
上面设置的参数都只是临时生效,一旦关闭文件再打开,又需要重新输入。如果想要永久生效,需要手动建立 vim 的配置文件 ==“~/vimrc”== ,把你需要的参数写入配置文件就永久生效了。Windows 下回车符在 Linux 中是用 “^M$” 显示的,而不是 “$” 。这样会导致 Windows 下编辑的程序脚本(如 shell 脚本),无法在 Linux 中执行。这时可以通过命令 ==「dos2unix」==,把 windows 格式转换为 Linux 格式。同样可以使用 ==「unix2dos」== ,把 Linux 格式转换为 Windows 格式。这两个命令默认没有安装,需要手动安装才能使用。
1
2、查找
/查找内容 从光标所在行向下查找
?查找内容 从光标所在行向上查找
n 下一个
N 上一个
1
2
3
4
3、替换
:1,10s/old/new/g 替换 1 到 10 行所有 old 为 new(s 表示替换)
:%s/old/new/g 替换整个文件的 old 为 new(% 是一个变量,在这里代表整篇文档)
1
2
在 shell 中 “#” 开头是注释,假如说我想注释文件前 10 行,如果手工一个一个注释会很麻烦,可以使用替换来解决。
:1,10s/^/#/g 注释 1 到 10 行
:1,10s/^#//g 取消 1 到 10 行的注释
1
2
1、导入其他文件的内容
:r 文件名 把文件内容导入到光标位置
1
:r /root/aa.txt #末行模式下,输入这个会把 /root/aa.txt 文件的内容加到你光标所在处
2、在 vim 中执行系统命令
:!命令 在 vim 中执行系统命令
1
这里只是在 vim 中执行系统命令,但并不把系统命令的结果写入到文件中。主要用于在文件编辑中,查看系统信息,如时间。
3、导入命令结果
:r !命令 在 vim 中执行系统命令,并把命令结果导入光标所在行
1
4、多文件打开
在 vim 中可以同时打开两个文件
[root@hepingfly ~]# vim -o aa.txt abcd 上下分屏打开两个文件(小 o)
[root@hepingfly ~]# vim -O aa.txt abcd 左右分屏打开两个文件(大 O)
如果是上下打开两个文件,可以通过先按 「ctrl + w」再按上下箭头的方式在两个文件之间切换。
如果是左右打开两个文件,可以通过先按 「ctrl + w」再按左右箭头的方式在两个文件之间切换。
$ 行尾
0行首
^ 行首 无空格的地方
w 5w 6w 自动跳到下一个单词开始 e 6e 7e 自动跳到下一个单词结尾 shift w shift e 只看空格
b 反方向跳单词 shift b 只看空格 B shift = 大写
2- 3+ 5+ 4+ 跳到第+行
v 选中模式
dw 删除单词 d1w d2w d3w
cw 删除并且至直接重写
c1w c2w c3w
{上一段落
}下一段落
f a f c f d f之后的单词跳转到
V选中行 norm 0x 删除第一个单词 norm 0x i# norm s/old/new/g 只替换选中内容
视觉效果
ctrl u 下一个页面 ctrl d 上一个页面
ctrl y 下一个行 ctrl e 上一个行
:set cindent 设置缩进
vi{ 选中括号内内容
set ts = 4 设置缩进
v 选中之后 = 自动格式化
————————————————
来自 https://blog.csdn.net/jackonly1/article/details/127144964