标签:vi文本编辑器
Linux: 使用文本文件来保存配置文件
Linux编辑器:行编辑器:sed 全屏编辑器:nano, vi, vim
文本编辑器:编辑ASCII字符,而非字符处理软件 如 emacs, vi
vi: Visual Interface
全屏文本编辑器, nano
模式化的编辑器 moduler
vim: vi improved
vi的模式:
编辑模式:键盘操作通常被解析为编辑命令;
输入模式:输入模式;
末行模式:vim的内置的命令行接口,执行vim内置命令
编辑模式-->输入模式
i: 在当前光标所在处输入;
I: 在当前光标所在行的行首输入;
a: 在当前光标所在处后面输入;
A:在当前光标所在行的行尾输入;
o: 在光标所在行的下方新增一个空白行输入;
O:在光标所在行的上方新增一个空白行输入;
输入模式-->编辑模式:
按 ESC
编辑模式-->末行模式:
按 :
末行模式-->编辑模式:
ESC, ESC
vim命令的使用格式:
vim [options] /path/to/file...
退出
:q!, 不保存并退出
:wq, 保存并退出
:x, 保存并退出
编辑模式:ZZ, 保存退出
打开:
多文件跳转:
:next
:prev
:first
:last
分割窗口打开多个文件:
-o: 水平分割
Ctrl+w, 左右箭头键
-O:垂直分割
Ctrl+w, 上下箭头键
+[#]: 打开文件后直接让光标处于第#行的行首; #号省略为到末行。
光标移动:
单字符移到:h: 左 l: 右 j: 下 k: 上
单词间移动:w: 下个单词的词首;b: 当前或前一个词的词首 e: 当前或下一个词的词尾
行内移动:0: 绝对行首 ^: 第一个非空白字符 $: 绝对行尾
句子间移动:) (
段落间移动:} {
行间移动:#G G:最后一行 1G: 第一行
编辑操作:
x: 删除光标所在处的字符
#x: 删除光标所在处开始向后的#个字符;
r: 替换光标所在处的字符
d: 删除命令
结合各光标跳转命令使用
dd: 删除一行
#dd:删多行
末行模式:范围定界
start,end:
10,19
10,+9
.:表示当前行
$:最后一行
.,$-2 当前行到倒数第三行
/pat1/,/pat2/: 起始处为光标所在行,
:% 全文
c: 改变
cc:
#cc:
y: yank, 复制
yy
#yy
p: paste, 粘贴
复制或删除的是整行
p: 粘贴在光标所在行的下方
P: 粘贴在光标所在行的上方
复制或删除的为非整行
p: 粘贴在光标所在字符的后面
P:粘贴在光标所在字符的前面
撤消编辑:u: undo #u:
撤消此前的撤消:Ctrl+r
重复执行此前的命令:.
翻屏:
Ctrl+f: 向文件尾部翻一屏
Ctrl+b: 向文件首部翻一屏
Ctrl+d: 向文件尾部翻半屏
Ctrl+u: 向文件首部翻半屏
Enter: 下一行
k: 上一行
查找:
/keyword 向文件尾部搜索
?keyword 向文件首部搜索
n: 下一个
N: 上一个
vim可视化模式:
v: 按光标走过的区域选择
V: 选择矩形块
打开多个文件,分窗口:
vim -o
vim -O
Ctrl+w, arrow
分割当前窗口:
Ctrl+w, s
Ctrl+w, v
窗口属性的定义:
:set nu 设置行号
:set nonu 取消行号设置
:set ai 设置autoindent缩进
:set noai 取消自动进设置
:set ic ignore-case搜索时忽略大小写
:set noic 取消忽略大小写设置
显示对应的括号
:set sm (show match)
:set nosm
语法高亮:
:syntax on
:syntax off
搜索高亮:
:set hlsearch
:set nohlsearch
vim的配置文件:
全局:/etc/vimrc
个人:~/.vimrc
查找替换:
:地址定界s/查找模式/替换为的内容/gi
g: global
i: ignore-case
:地址定界s@查找模式@替换为的内容@gi
&: 用于在替换为的内容部分中引用前面匹配到的所有内容;
练习:
1、复制/etc/grub.conf至/tmp目录,删除/tmp/grub.conf文件中行首的空白符;
%s@^[[:space:]]\{1,\}@@g
2、复制/etc/rc.d/rc.sysinit至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行,行首加#号
:%s@^[[:space:]]\{1,\}.*@#&@
3、删除/tmp/rc.sysinit文件中以#开头且后面跟了至少一个空白字符的行的行首的#号和空白符;
:%s@^#[[:space:]]\{1,\}@@g
4、为/tmp/grub.conf文件中前三行的行首加#号;
1,3s@^@#@g
5、将/etc/yum.repos.d/CentOS-Media.repo中enable=0一行最后的0改为1;
%s@\(enabled=\)[0-9]@\11@g
标签:vi文本编辑器
原文地址:http://ifisis.blog.51cto.com/9095905/1610587