4.VIM编辑器
安装VIM检查是否安装vim或vi [root@app ~]# rpm -qf `which vim` [root@app ~]# rpm -qf `which vi` 安装vim yum -y install vim 问:vi和vim是同一个软件包安装的吗? vim编辑器模式首次进入文件 ---- 命令模式 问:从编辑模式到命令行模式怎样切换? i当前字符之前插入 (光标前) I行首插入 (行首) a当前字符之后插入 (光标后) A行尾插入(行尾) o下一行插入 (另起一行) O上一行插入(上一行插入) x向后删除一个字符,等同于delete X向前删除一个字符 u撤销一步,每按一次就撤销一次 r 替换 命令模式下的操作hjkl 左下上右 0和home键表示切换到行首,$和end键表示切换到行尾 gg 快速定位到文档的首行,G定位到未行 3gg 或者 3G 快速定位到第3行 /string(字符串) 找到或定位你要找的单词或内容,如果相符内容比较多,我们可以通过N、n来进行向上向下查找,并且vi会对查找到的内容进行高亮显示,取消用 :noh /^d ^意思表示以什么开头 ,,查找以字母d开头的内容 /t$ $意思表示以什么结尾,,查找以字母t结尾的内容 vim + a.txt 打开文件后,光标会自动位于文件的最后一行 y 复制(以字符为单位) :表示对单个字符进行复制,如果要复制整行,用yy(以行为单位) 复制N行:Nyy,比如:2yy,表示复制2行 dd(删除,以行为单位,删除当前光标所在行,也是剪切的意思) 删除N行: Ndd ,比如: 2dd ,表示删除2行 P粘贴 x 删除光标所在位置的字符 D 从光标处删除到行尾 u 撤销操作 ctrl+r 还原撤销过的操作,将做过的撤销操作再还原回去,也就是说撤销前是什么样,再还原成什么样 r 替换,或者说用来修改一个字符 v模式(列)编程的时候需要进行多行注释: 1)、ctrl+v 进入列编辑模式 2)、向下或向上移动光标,把需要注释、编辑的行的开头选中起来 4)、然后按大写的I 5)、再插入注释符或者你需要插入的符号,比如"#" 6)、再按Esc,就会全部注释或添加了 删除:再按ctrl+v 进入列编辑模式;向下或向上移动光标 ;选中注释部分,然后按d,就会删除注释符号。 命令行模式操作:w 保存 :w! 强制保存 :q 没有进行任何修改,退出 quit :q! 修改了,不保存,强制退出 :wq 保存并退出 :wq! 强制保存并退出 :x 保存退出 !+命令 调用外部命令,比如:!ifconfig :r /etc/hosts 读取外部文件,把其他文件中的内容追加到当前文档中 文本替换 :1,3 s/bin/app 替换第1到3行中出现的第一个bin进行替换为app :1,3 s/bin/app/g 替换第1到3行中查找到所有的bin进行替换为app :3 s/xue/aaaaa 只把第3行中内容替换了 :% s/do/app/g 将文本中所有的do替换成app :% s/do/app/gi 将文本中所有的do替换成app,并且忽略do的大小写 :% s@a@b@g 将文本中所有的a替换成 自定义vim使用环境临时设置 :set nu 设置行号 :set nonu 取消设置行号 :noh 取消高亮显示 永久设置环境 vim /etc/vimrc 设置后会影响到系统所有的用户 ~/.vimrc #在用户的家目录下,创建一个.vimrc。这样只影响到某一个用户,没有自己创建一个 vim打开多个文件方法1:以上下形势,打开两个文档 vim -o /etc/passwd /etc/hosts 方法2:以左右方式打开两个文档 vim -O /etc/passwd /etc/hosts ctrl+ww:在两文档之间进行切换编辑。大写O左右分屏,小写的o上下分屏 比较两个文件内容diff /etc/passwd mima.txt vimdiff /etc/passwd mima.txt 两个小问题1:在windows中编辑好的汉字文本文档,上传到Linux下打开乱码 原因:编码的问题 解决方法:通过iconv命令转码 参数: -f,--from-code=名称 原始文本编码 -t,--to-code=输出编码 -o,--output=FILE 输出文件名 例如:iconv -f gb2312 -t utf8 a乱码.txt -o aa.txt 2:解决将Linux服务器上脚本导到windows上打开串行的问题 原因:因为windows和linux处理回车方法不同 解决方法:安装dos2unix rpm -ivh /mnt/Packages/dos2unix-6.0.3-7.el7.x86_64.rpm 注:在centos7上,unix2dos这个命令已经被集成到dos2unix-6.0.3-7.el7.x86_64.rpm包中。在centos6下需要安装unix2dos.xxx.rpm 例如:unix2dos b没有换行.sh (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |