好用的文本编辑工具有 vim 和 emasc , Emacs被公认为是最受专业程序员喜爱的代码编辑器之一 , 如果仅为了编辑文本,那么推荐vim
vim 命令
#vi(无颜色) 或 #vim(有颜色) vim [ 选项 ] / 路径 / 文本文件名 +num 打开某个文件直接跳转到 num 行 -b 以 binary 方式打开文件 , 用于编辑二进制文件 -R 以只读方式打开文件
vi 有三种工作模式
1. |
命令行模式 |
command line |
2. |
输入模式 |
input mode |
3. |
末行模式 |
last line mode |
command line 主要做替换 , 删除 , 复制等工作。
input mode 主要做内容编辑
last line mode 主要对文件进行编辑操作 , 如保存文件
用上下左右来移动光标
G(shift+g) 直接移动到文件末尾 gg 直接移动到文件头 如果要移动到指定的某一行的话 vi 也可以办到假设光标当前在 500 行 1000G 向下移动到 1000 行 50gg 向上移动到 50 行 0( 数字键 ) 直接移动到行头 $ 直接移动到行末 单词移动 w 直接移动到下一个单词 b 直接移动到上一个单词 PageUp 向下翻一页 PageDown 向上翻一页 H 将光标移动到当前屏幕的最上 M 将光标移动到当前屏幕的中间 L 将光标移动到当前屏幕的最下 zz 将光标当前行为基准放在屏幕中间 x 删除光标所在位置的字符 D 从光标开始到行末全部删除 dd 删除光标所在的一行 dw 删除光标后的一个单词 db 删除光标所在的前一个单词 dG 删除光标所在行到文件末尾的所有内容 dgg 删除光标所在行到文件头的所有内容 4x 删除光标之后的 4 个字符 ( 包含光标 ) u 撤销刚才的操作 , 可以连续使用 U 撤销一行中的所有操作 ctrl + r 取消撤销的内容 ctrl + g 显示当前编辑文件的信息
y 复制 , 如 yw 复制一个单词
yy 复制一行
p 粘贴 ( 光标后 )
(剪切需要先删除然后到指定位置直接粘贴即可)
v键用来选中 , V用来选中整行 , ^v用来选中整列
插入 :
a :在光标后开始插入 i: 在光标前开始插入 O(大写) : 在光标下一行开始插入新的空行 o(小写): 在光标所在行首插入一行
vim中搜索直接按 / +搜索的字符 即可(可以用正则表达式匹配) 取消搜索结果用 noh
末行模式 :
:w 保存文件 :q 退出 vi编辑 :q! 强制退出
:w! 强制保存 :wq 保存文件并退出 vi 编辑器 ( 无论是否修改了文件 ) :e 不离开 VI ,开始编辑一个新的文件 :w <filename-new> 存储当前编辑的文件到一个新的文件 :x 文件仅被修改时才写入 并退出 , 未写入则直接退出
想跳转到指定行时直接在末行模式输入指定行数即可跳转
保存n1行到n2行时输入 :n1 , n2w /要保存的目录/文件名
如果要在当前编辑的文件中的某一行读入其它文件的内容
:23r /home/last.txt 在当前文件的 23 行开始读入 /home 目录下的 last.txt 文件
vi可以同时打开多个文件 命令 vi 文件 1 文件 2 文件 3 文件 4
:next 切换到下一个文件
:previous 切换到上一个文件
:last 切换到最后一个文件
:first 切换到最前一个文件
:next 切换到下两个文件
:args 可以显示多个编辑文件中当前所编辑的文件
:args 还有另外一个功能就是对打开的多个文件进行重新排序,排列方法很简单 , 在末行模式执行
:args 5 3 1 2 4 6
这样原先 1 2 3 4 5 6 文件的排列顺序就变成 5 3 1 2 4 6 了
在vi中分屏
:split 将屏幕分成多个窗口 ctrl+w + or - 用来调整窗口的大小 ctrl+w 方向键 切换窗口 :close 关闭光标所在的窗口 :edit 在窗口中打开一个文件 :help 查看帮助文档
vi中的查找命令 s
g 替换所有查找到的内容 c 每次替换的时候都手工确认 y 同意 n 不同意仍然继续替换, q 退出替换 i 忽略大小写 I 不忽略大小写 e 不显示出错信息 例: 替换所有的 this 为 that :% s/this/that/g 将文件中所有 /usr/bin 目录替换成 /home :% s/\/usr\/bin/\/home/g 在每行开头加入一个单词 linux :% s/^/linux/g 在每个单词后面加上一个 s :% s/$*\>/s/g
:suspend 把 vi 暂时放到后台休息 . 用 fg 恢复 (^z)
在vim中定义快捷键
定义格式: map F2-F4 执行命令
使用方法 , 在 vim 中执行
:map <F2> dd 将 F2 功能键定义为 dd
作用
退出末行模式 , 然后到命令模式下试试 F2
注 : 这里定义的快捷键在退出 vim 之后将会失效 .
在命令行中进行文件比较的命令为 vimdiff :
$vimdiff file_C file_A
在 vi 中进行文件比较的操作如下:
$vi file_A file_C
:diffsplit file_A~:
为了更方便的使用 vim 可以在个人主目录下可以编辑用 户主目录下的 .vimrc 文件 , 如果没有可以手工创建一个 . 格式如下: set nu // 打开文件的时候显示行号 set ic // 查找字串的时候忽略大小写 set tabstop=2 // 用 tab 键时缩进每次宽度为 2 syntax enable // 打开色彩支持