Vim编辑器
vi的使用
- 鸟哥书籍:按键的说明、Vim的保存文件、恢复与打开时的警告信息
- Vim编辑器:文本编辑器,字处理器
nano:全屏处理
sed:行处理
Vim:全屏处理器,模式化编辑器
# 快速定位到某行:vim +12 FILE
# 快速定位到最后一行:vim + FILE
# Vim+PATTERN:打开文件,定位到第一次被PATTERN匹配到的行的行首
vim的模式:
- 编辑模式(命令模式)
- 输入模式
- 末行模式
- 编辑模式-->输入:
i
: 字符前面a
: `字符后面o
: 字符所在行下方,新建一行I
:行的行首A
:行的行尾O
:行的上方,新建一行
-
关闭文件:
1.末行模式关闭文件
:q
退出
:wq
保存并退出
:q!
不保存并退出
:w
保存
:w!
强行保存
:wq
同 :x
2. 编辑模式下退出
ZZ
保存并提出
移动光标
1.逐字字符移动:
h
👈
j
👉
k
👇
l
👆
#h
移动#个字符
2.以单词单位移动
w
下个单词行首
e
当前或下一个单词的词尾
b
当前或前一个单词词首
#w
移动#个单词
- 行内跳转:
0
绝对行首
^
行首的第一个非空白字符
$
绝对行尾
4.行间跳转:
#G
跳转至第#行
G
最后一行
5.翻屏
Ctrl+f
向下
Ctrl+b
向上
Ctrl+d
向下翻半屏
Ctrl+u
向上半屏
6.删除单个字符
x
三处光标所在的单个字符
#x
删除光标所在的向后的共#个字符
7.删除命令:d
d命令个跳转命令组合使用
#dw
,#de
, #db
dd
:删除当前光标所在行
#dd
:删除包括当前光标所在内的#行
- 末行模式下:
.
: 表示当前行
$
:最后一行
+#
:向下的#行
8.黏贴命令 p
p
:
9.复制命令 y
- 用法同
d
10.先删除内容,再转换为输入模式
c
:用法同d
11.替换r
R
:替换模式
12.撤销编辑操作:u
表示:撤销前一次编辑操作
#u
:直接撤销最忌#次操作。
撤销最近一次撤销:Ctrl+r
13.重复前一次编辑操作:.
14.查找
/pattern
:首部向后查找
?pattern
:当前光标向文件首部查找
n
和N
表示下一个的意思。
15.查找并替换:
在末行模式下使用s
命令
vim的功能
1.块选择
下载文件hostswegt http://linux.vbird.org/linux_basic/0310vi/hosts
,然后利用vim进行编辑。
将光标移劢到第一行的 host 那个 h 上,然后按下 [ctrl]-v ,左下角出现区块示意字样:
v
:按字符选取
V
: 按矩形选取
$ vim hosts
192.168.1.1 host1.class.net
192.168.1.2 host2.class.net
192.168.1.3 host3.class.net
192.168.1.4 host4.class.net
192.168.1.5 host5.class.net
192.168.1.6 host6.class.net
192.168.1.7 host7.class.net
192.168.1.8 host8.class.net
192.168.1.9 host9.class.net
~
~
~
~
-- VISUAL BLOCK -- 1,16 All
此时你可以按下『y 』来进行行复制,当你按下 y 后,反白的区块就消失!
- 最后,将光标移到第一行行最右边,并且再用编辑模式向右按两个空格键,回到一般模式后,再按下『p 』后,如下图所示:
$ vim hosts
192.168.1.1 host1.class.net host1
192.168.1.2 host2.class.net host2
192.168.1.3 host3.class.net host3
192.168.1.4 host4.class.net host4
192.168.1.5 host5.class.net host5
192.168.1.6 host6.class.net host6
192.168.1.7 host7.class.net host7
192.168.1.8 host8.class.net host8
192.168.1.9 host9.class.net host9
~
~
~
2.多文本编辑
- 复制某个文件的部分内容到另一个文件
# 复制hosts前四行IP数据到/etc/hosts
$ vim hosts /etc/hosts
$ vim hosts /etc/hosts
2 files to edit
192.168.1.1 host1.class.net
192.168.1.2 host2.class.net
192.168.1.3 host3.class.net
192.168.1.4 host4.class.net
192.168.1.5 host5.class.net
192.168.1.6 host6.class.net
192.168.1.7 host7.class.net
192.168.1.8 host8.class.net
192.168.1.9 host9.class.net
~
~
"hosts" 9L, 279C 1,1 All
# :files查看编辑的文件数据
~
~
:files
1 %a "hosts" line 1
2 "/etc/hosts" line 0
Press ENTER or type command to continue
# 按下任意键回到vim的一般模式
#想要复制前四行,输入4yy,显示如下
4 lines yanked
# 输入:n来到第二个编辑文件
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
~ ~
#"G"定位到最后一行,"p"复制
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.1.1 host1.class.net
192.168.1.2 host2.class.net
192.168.1.3 host3.class.net
192.168.1.4 host4.class.net
:next 切换到下一个文件
:prev 切换到前一个文件
:last 切换到最后一个文件
:first 切换到第一个文件
#"u"还原原来的文件
#"q"离开vim的多文本编辑
`qa`:离开所有文件
3.多窗口功能:
- 分屏显示一个文件
Ctrl+w,s
:水平拆分窗口
Ctrl+w,v
:垂直
在窗口间切换光标
Ctrl+w,方向键
- 多窗口编辑多个文件
vim -o
:水平分割显示
vim -O
:垂直分割显示
以下末行模式下
-
将当前文件中部分内容另存到另一个文件
末行模式下使用w命令
:w
:ADDR1,ADDR2w /path/to/somewhere
-
将另一个文件内容填充到目前文件下
:r /path/to/somewhere
-
跟shell交互
:!COMMAND
高级话题
- 显示或取消行号
: set nu
: set nonu
- 显示忽略大小写或区分
: set ic
(ignorecase)
: set noic
(noignorecase) - 设置自动缩进
: set atuoindent
: set ai
: set noai
- 查找到的文本高亮显示或取消
: set hlsearch
: set nohlsearch
- 语法高亮与关闭
: syntax on
: syntax off
- 配置文件
/etc/vimrc
:全部用户
~/.vimrc
:当前用户
#主要就是:sp{filename}的使用
$ vim /etc/man.config
~
# 在终端在视觉要明显很多
{hosts} 0,0-1 All
~
/etc/man.config 0,0-1 All
"{hosts}" [New File]
4.vim的常用命令示意图
- 最后附上无敌的vim的常用命令示意图
-
记住:是一般模式下
马哥
生信技能树公益视频合辑:学习顺序是linux,r,软件安装,geo,小技巧,ngs组学!
请猛戳下面链接:
B站链接:https://m.bilibili.com/space/338686099
YouTube链接:https://m.youtube.com/channel/UC67sImqK7V8tSWHMG8azIVA/playlists
生信工程师入门最佳指南:https://mp.weixin.qq.com/s/vaX4ttaLIa19MefD86WfUA
网友评论