在Vim中存活下来

大学初期,有次聊到编辑器的选择,有个学长告诉我们“学VIM吧,什么都能写”,看到网上有大多数教程都是直接vim编辑文本,看着用法简单。当时兴致冲冲的切到U盘安装的Linux的Ubuntu系统,有自带vim,创建了个网页文本,就用vim 1.php 打开了文本,然后就出不来了。。之后就开始看文档做实验,结果可以在vim中生存下来了。我推荐了一本书刘遄编写的《Linux就该这么学》,里面教程基于Linux系统RHEL 7编写,但是教程通用于Ubuntu,所以我就没安红帽子了。

所谓在Vim中生存下来,你只需要知道下面这几个命令
:w 保存
:q 退出
hjkl 分别是上下左右
i 在光标前进入编辑模式
ESC 退出编辑模式

打开vim编辑器的方法是在shell中输入vim filename,如果是新建就直接写新文件的名称。
知道这些就可以简单使用Vim了,这也就是我当时能做到的极限,毕竟刚刚接触vim没有鼠标可以用真的是非常难受了。

在Vim中活得很好

工作之后需要用到的地方变多,就有了更多需求,所以需要进一步了解。
(以下加粗的为常用命令)

一般模式、插入模式(INSERT)、命令模式、可视模式(VISUAL)
进入编辑器之后,默认是一般模式。
一般模式:键盘上的字母都是快捷键,不能输入文本,你可以使用快捷键移动光标,翻页,复制粘贴,搜索替换,找地方开始写代码等等。
插入模式:在一般模式下使用aio等命令可以进入插入模式,插入模式下就可以写代码了,hjkl也就不再是移动光标,而是输入对应的字母,编辑完成可以使用ESC回到一般模式。
命令模式:可以使用:进入命令模式,命令模式用于操作当前文件或者配置vim,保存,另存为,退出等。
可视模式:使用v或者V进入可视模式,v进入的是以字符为最小单位的可视模式,V进入的是以行为单位的可视模式,当你选定了一定的段落或者字符之后,可以进行删除复制等操作。

方向移动

hjkl 分别表示←↓↑→,30j 表示光标向下移动30行,请举一反三
<Ctrl>+f 屏幕向下移动一页,相当于 按键
<Ctrl>+b 屏幕向上移动一页,相当于 按键
<Ctrl>+d 屏幕向下移动半页
<Ctrl>+u 屏幕向上移动半页
+ 光标移动到非空格符的下一行
- 光标移动到非空格符的上一行
n<Space> n为数字。光标向后移动 n 行
n<Enter> n为数字。光标向下移动 n 行
0或功能键<Home> 这是数字0:移动到这一行的最前面字符处
$或功能键<End> 移动到这一行的最后面字符处
^ 行首的第一个非空白字符
H 光标移动到这个屏幕的最上方那一行的第一个字符
M 光标移动到这个屏幕的中央那一行的第一个字符
L 光标移动到这个屏幕的最下方那一行的第一个字符
G 移动到这个档案的最后一行
nG n为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行
gg 移动到这个档案的第一行,相当于1G
w 移至下一个单词的词首
nw n为数字。移动n个单词
e 跳至当前或下一个单词的词尾
b 跳至当前或前一个单词的词首

删除 复制 粘贴

x,X 在一行字当中,x 为向后删除一个字符 (相当于 < Del>按键), X 为向前删除一个字符(相当于 亦即是退格键)
nx n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符,10x
dd 删除游标所在的那一整行
ndd n为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行
d1G 删除光标所在到第一行的所有数据
dG 删除光标所在到最后一行的所有数据
d$ 删除游标所在处,到该行的最后一个字符
d0 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符
yy 复制游标所在的那一行,复制命令的其他组合用法与删除命令用法一致
p,P p为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行
J 将光标所在行与下一行的数据结合成同一行
c 重复删除多个数据,例如向下删除 10 行,10cj
u 复原前一个动作
<Ctrl>+r 重做上一个动作
. 重复上一次的修改

搜索替换

/keyword 搜索指定关键字
?keywork 从文件末尾开始搜索关键字
n 下一个
N 上一个

切换编辑模式

i,I 进入插入模式(Insert mode):i 为『从目前光标所在处插入』, I 为『在目前所在行的第一个非空格符处开始插入』
a,A 进入插入模式(Insert mode):a 为『从目前光标所在的下一个字符处开始插入』, A 为『从光标所在行的最后一个字符处开始插入』
o,O 进入插入模式(Insert mode):这是英文字母 o 的大小写。o 为『在目前光标所在的下一行处插入新的一行』; O 为在目前光标所在处的上一行插入新的一行!
r,R 进入取代模式(Replace mode):r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止

命令

:w 保存
:w filename 另存为
:wq 保存退出
:wq! 强行保存退出
:set ai 自动缩进
:set noai 取消自动缩进
:set nu 显示行号
:set nonu 取消显示行号

配置文件

/etc/vimrc 针对所有用户
~/.vimrc 针对当前用户

一般模式
一般模式

插入模式
插入模式

命令模式
命令模式

可视模式
可视模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rawchen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值