linux常见编辑器vi vim gedit emacs nano office(openoffice 永中office)
亲密接触vim
任务1:进入当前用户的家目录,查看当前工作路径,在当前目录中用vim创建me.txt文件,输入3行文本,保存并退出vim编辑器。最后用cat查看me.txt文件内容。[root@sky ~]# cd ~[root@sky ~]# pwd[root@sky ~]# vim me.txt
点击这里 | 点击这里 |
按i键进入输入模式,然后输入下面的内容 welcome to vim hello vim goodbye 按键盘左上角的Esc键返回到vim的命令模式 输入:wq保存并退出vim编辑器 |
查看文件内容:[root@sky ~]# cat me.txt任务2:清空/tmp目录中的所有文件,用vi在/tmp目录中创建一个文件a.txt,输入3行内容,然后保存并退出,再用cat命令查看文件内容。[root@sky ~]# rm -rf /tmp/*[root@sky ~]# vim /tmp/a.txt按i键,进入输入模式welcome to vim editerthank yougoodbye按键盘左上角的Esc键,退回到命令模式输入:wq保存退出。这是vi的末行模式(也称尾行模式)。[root@sky ~]# cat /tmp/a.txtvim的高级用法文件的打开1.直接打开cd /tmpvim a.txt 2.启动后直接跳到行尾(+)vim + a.txt 3.启动时按照模式匹配(+/pattern) 跳到包含关键字的行vim +/to a.txt4.vim模式分类? 如何切换? 命令模式:按Esc进入此模式,用于执行vim自带的一些命令,例如i进行插入模式,yy复制,p粘贴,dd删除一行。编辑模式:在vim的命令模式下用i、a、o进入此模式,用于编辑文件的正文内容。尾行模式:在vim的命令模式下用:或/进入此模式,用于执行显示行号:set nu,保存:w,保存并退出:wq,不保存退出:q等尾行模式命令。从编辑模式或尾行模式切换到命令模式都是用Esc键。将passwd文件中的前9行内容覆盖写入到/tmp/pa.txt文件中,然后用vim打开,执行下面的命令快捷键操作。head -9 /etc/passwd > /tmp/pa.txtvim /tmp/pa.txt5.命令模式快捷键光标定位----------------------------------了解------------------------------- 单词 w/e 按单词往光标所在位置的右边移动 w移到下一个单词词首 e是到单词的词尾 b: 跳至当前单词的左边单词的词首 字符 h 光标向左移动←j 光标向下移动↓k 光标向上移动↑l 光标向右移动→ 翻屏(命令模式) ctrl+f 前翻页,f是frontb 后翻页,b是backdG 删除光标所在行到尾行(文件的最后一行) dgg 删除光标所在行到首行(文件的第1行) u 撤消操作-----------------------------------------------------------------------------行首 行尾 G 光标移动到文本尾行 gg 光标移动到文本行首 0或^或home 光标移动到行首 $或end 光标移动到行尾 如何定位至指定行? 尾行模式 :5 光标到第5行 命令模式(复制、粘贴、删除) dd 删除(剪切)光标所在行 ndd 删除(剪切)光标所在行及以下n行,例如3dd yy 复制光标所在行 nyy 复制光标所在行及以下n行,例如3yy p 粘贴光标所在行下一行 r 替换光标所在字符(一次替换) R 替换模式,ESC退出替换模式(连续替换) d$ 删除光标所在位置到行尾 包含光标 等同于Dd^ 删除光标所在位置前的内容到行首 不包含光标 dw 删除光标所在位置的单词3dw 删除从光标开始的位置到后面三个单词 delete 删除字符(以字符为单位从左往右删除) 等同于x 2x 删除光标所在后2个字符(包含) 2X 删除光标所在前2个字符 u 撤销之前操作 ctrl+r 反撤销 ZZ(命令模式) 保存,等同于:wq查找(命令模式)/关键字 例如/sbin,然后用n继续查找下一个,N继续查找上一个-------------------------------------------------------------------编辑模式(输入模式) a 光标所在位置后插入 i 光标所在位置前插入 o 光标所在行下一行另开一行插入A 光标所在行行尾插入 I 光标所在行行首插入 O 光标所在行上一行插入 ---------------------------------------------------------------尾行模式(末行模式)保存 退出(w/q/x) :6 光标定位到第6行:q 正常退出 :q! 强制退出:w 保存:wq 保存并退出:wq! 强制保存并退出:x 保存并退出 :10,13d删除10-13行 .,$d 表示从光标所在位置删除到结尾(包含光标所在行) .,+5d 表示删除从当前行开始算起的后面连续5行g/#/d 删除包含#的行 例如,删除包含root的行:g/root/d替换substitute:s/This/THIS/ 把光标所在行的This替换为THIS,仅替换找到的第1个:s/This/THIS/g 把光标所在行所有This替换为THIS:%s/This/THIS/g 把全文的This替换为THIS:2s/This/THIS/g 把第2行的整行中包含This的替换为THIS:2,3s/This/THIS/g 把第2-第3行的整行中包含This的替换为THIS:%s/This/THIS/gi 把全文的This替换为THIS忽略大小写vim必须熟练的内容:1、 用vim创建文件,输入内容,并保存退出。2、 yy复制、p粘贴、d删除、u撤消、光标定位(方向键、0、^、$、G、gg)3、 /查找、s替换4、 显示行号:set nu调用外部命令 :!date 查看系统时间:!ls /home 临时执行指定的命令 :r /etc/passd 把/etc/passwd的内容读入到当前的文本 :w /opt/a.txt 把当前文本的内容另存到/opt/a.txt里面:.,+3w >> /opt/a.txt 把从当前行,当前行的后3行追加到/opt/a.txt :10,13w >> /opt/a.txt分屏(ctrl+w) sp/vsp 撤销u ctrl + r set nu设置行号set number设置行号 set list 显示特殊字符set nolist 取消显示特殊字符 set ic(ignorecase 的缩写) 忽略大小写 set noic(noignorecase 的缩写) set all 显示目前所有设定值内容 set autoindent(ai) 自动缩进 set hlsearch设置查找高亮set nohlsearch取消查找高亮 syntax on 设置语法高亮syntax off 关闭语法高亮 可视模式可视块(ctrl+v)使用光标定位所需要插入注释的列--->ctrl+v -----》 -----> I ---》# ---》esc可视模式(v)可视行 (V)vim编辑器的多文档编辑功能:
点击这里 | 点击这里 |
进入/tmp目录 以水平分割窗口编辑多个文件 | cd /tmp vi -o(小写o) a.txt b.txt c.txt d.txt |
ctrl+w松手后用↑↓← →方向键在文件窗口中切换 | |
在a.txt中输入ni hao这行文字,然后复制,并粘贴 | |
将光标分别移到b.txt、c.txt、d.txt文件中,粘贴 | |
用:wq依次保存这些文件 | |
用nl查看文件内容 |
vim编辑器的多文档编辑功能:
点击这里 | 点击这里 |
进入/tmp目录 以垂直分割窗口编辑多个文件 | cd /tmp vi -O(大写O) a.txt b.txt c.txt d.txt |
ctrl+w松手后用↑↓← →方向键在文件窗口中切换 | |
在a.txt中输入hello这行文字,然后复制,并粘贴 | |
将光标分别移到b.txt、c.txt、d.txt文件中,粘贴 | |
用:wq依次保存这些文件 | |
用nl查看文件内容 |
点击这里 |
执行以下任务 |
1、 将passwd文件中的前5行内容覆盖写入到/tmp/pk.txt文件中。用nl命令查看文件内容。 |
2、用vim打开/tmp/pk.txt文件,用:set nu显示行号,然后用yy复制第1行内容,用G将光标移到文件的最后一行,用p粘贴。用:3将光标移到第3行,用dd删除第3行内容。 |
3、用:%s/sbin/SBIN/g将文档中所有sbin替换成SBIN。用:g/root/d删除文件中包含root关键字的内容。 |
自定义/etc/vimrc全局配置文件 对所有用户生效 set nu set icsyntax onset ai set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 设置Vim支持字符编码,utf-8表示支持中文~/.vimrc 局部配置文件针对当前用户有效 vim /home/redhat/.vimrc 乱码问题 1.在Vim中可以直接查看文件编码 :set fileencoding 2.如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在 ~/.vimrc 文件中添加以下内容:set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件) 其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。 文件编码转换方式 1.在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式:set fileencoding=utf-8 2. iconv 转换,iconv的命令格式如下:iconv -f encoding -t encoding inputfileiconv -f GBK -t UTF-8 abc -o /home/abc.txt 将GBK编码的文件转换为UTF-8 windows下默认字符集为GBK linux默认的字符集为UTF-8