设为首页 收藏本站
查看: 870|回复: 0

[经验分享] vim编辑器之按键说明

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-8-15 10:59:02 | 显示全部楼层 |阅读模式
viim编辑器
   文本:纯文本,ASCII test;
文本编辑种类:
    行编辑器:sed
    全屏编辑器:nano,vi
其他编辑器:
      gedit 一个简单的图形编辑器
      gvim 一个vim编辑器的图形版本      
一.打开文件几种方法
命令格式:
      vim [options] [files]
常用选项:
         +#:打开文件后,直接让光标处于第#行的行首
         +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行
         PATTERB匹配到的行的行首
         vim+file 直接打开file,光标在最后一行
         vim -b file 二进制方式打开文件
         vim -d file1 file2 ... 比较多个文件
         vim -m file 以只读的方式打开文件
         ex file 或 vim -e  直接进入命令行模式

二.2种模式关闭文件方法:
     扩展命令模式:
         :q 退出
         :q! 强制退出,不保存此前的编辑操作
         :wq 保存并退出
         :x 保存并退出
     一般模式:
         ZZ:保存退出
         ZQ:不保存退出

三.模式详解
    三种主要模式:
           一般模式:移动光标,剪切/粘贴文本
           编辑模式:修改文本
           命令模式:保存退出等

一.一般模式
一般模式可用按钮说明,光标移动,复制粘贴,查找替换
    (1)光标移动       
         字符间跳转:
                h:左 l:右 j:下 k:上 (和左右上下箭头功能一样)
                  支持数字跳转: #{h|j|k|l} 跳转由#号指定的个数的字符
         单词间移动:可以使用 w,e,b键来进行移动
                w:下一个单词词首
                e:当前单词或下一个单词词首
                b:当前单词或前一个单词词首
                #{w|e|b}
        屏幕上下移动
                ctrl+f 屏幕向下移动一页等于Pagedown按键(常用)
                ctrl+b 屏幕向下移动一页等于Pageup按键(常用)
                ctrl+d 屏幕向下移动半页
                ctrl+b 屏幕向上移动半页
            H 光标移动到这个屏幕的最上方那一行的第一个字符
                M 光标移动到这个屏幕的中央那一行的第一个字符
                L 光标移动到这个屏幕的最下方那一行的第一个字符
                G 移动到这个文件的最后一行(常用)
                nG 移动到这个文件的第n行
                gg 移动到这个文件的第一行 相当于1G
                n[enter] n为数字,光标向下移动n行
        行间移动
                0 数字"0" 移动到这一行最前面的字符(常用)
                $ 移动到这一行的最后面字符(常用)
       
    (2)查找与替换
                /word 向下寻找一个名为word的单词
                ?word 向上寻找一个名为word 的字符串
                n            重复前一个查找的操作
                N        与n正好相反 "反向"进行前一个查找操作       
    (3)删除,复制,粘贴
                x,X  x向后删除一个字符 X向前删除一个字符
                nx   n为数字,向后删除n个字符       
                dd   删除光标所在的那一整行(常用)
                ndd  n为数字 删除光标所在行的向下n行
                d1G  删除光标所在到第一行的所有数据       
                dG   删除光标所在到最后一行的所有数据
                d$   删除光标所在到这一行最后一个字符的所有数据
                d0   删除光标所在到这一行第一个字符间的所有数据
                yy        复制光标所在的        那一行(常用)
                nyy   n为数字,复制光标所在行到向下的n行
                y1G        复制光标所在行到第一行的所有数据
                yG    复制光标所在行到最后一行的数据
                y0        复制光标所在行的字符到行首的所有字符
                y$        复制光标所在行的字符到行尾的所有字符
                pP        p将一复制的数据在光标下一行粘贴,P则为粘贴到上一行
          J     将光标所在行与下一行的数据结合成同一行
                c     重复删除多个数据,例如向下删除向下删除10行
                cc    删除当前行并输入新内容
                u        复原前一个操作(常用)
                ctrl+r 重做上一个操作(常用)
二. 编辑模式
        一般模式切换到编辑模式可用的按钮说明
        i,I 进入插入模式 i为从目前光标所在处插入,I为在目前所在行的第一个非空格符处开始插入(常用)
        a,A 进入插入模式 a为从目前光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符插入
        o,O 进入插入模式 o为字母 o为在目前光标所在的下一行处插入新的一行 O为在目前光标所在处的上一行插入新的一行(常用)
        r,R 进入插入模式 r只会替换光标所在的那一个字符一次,R会一直替换光标所在的文字,直到按下esc键为止(常用)
三. 命令行模式
        :w 将编辑的数据写入硬盘文件中(常用)       
        :w! 若文件为只读时,强制写入该文件
        :q  离开vi(常用)
        :q! 若曾修改文件又不想保存,用!强制离开
        :wq 保存后离开
        ZZ 若文件没有改动,不保存离开;若文件有改动,保存离开
        :w[filename] 将编辑的文件保存到另一个文件
        :r[filename] 在编辑的数据中,读入另一个文件的数据,即将"filename"这个文件内容加到光标所在行的后面
        :n1,n2 w[filename] 将n1到n2的内容保存成filename这个文件
        :!command 暂时离开vi到命令行模式下执行command的显示结果
命令行模式:对当前vim进程有效
        (1)行号
        :set nu 显示行号,设置之后,会在每一行的 显示该行的行号
        :set nonu 与set nu 相反,为取消行号
        (2)括号成对匹配
        :set showmatch   匹配
        :set nosm          取消
        (3)自动缩进
        :set ai       启用
        :set noai         禁用
        (4)高亮搜索
        :set hlsearch
        :set nohlsearch       
        (5) 语法高亮
        :syntax on     启用
        :syntax off    禁用
        (6)忽略字符的大小写
     :set ic       启用
        :set noic     不忽略
          (7)文件格式
        :fileformat+unix 启用
        :fileformat=dos
        (8)设置文本宽度
      :set textwidth=65(vim only)
         :set wrapmargin=15  



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-258089-1-1.html 上篇帖子: Atlas2.2源码编译安装 下篇帖子: Linux启动提示""Kernel panic - not syncing: Attempted to kill init"&qu 编辑器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表