zoukankan      html  css  js  c++  java
  • vim

    Vim/Vi 简介

    Vim/Vi是一个功能强大的全屏幕文本编辑器,

    是Linux/UNIX上最常用的文本编辑器,

    它的作用是建立、编辑、显示文本文件。

    Vim/Vi 没有菜单,只有命令。

    www.vim.org

     

    《大腕》编辑器版

    周围同事不是用Vi就是Emacs ,你要是用UltraEdit,

    你都不好意思跟人家打招呼……什么插件呀、语法

    高亮呀、拼写检查呀、能给它开的都给它开着,就

    是一个字儿:酷!你说这么牛xx一东西,怎么着学

    会也得小半年吧。半年!入门都远着呢,能学会移

    动光标就不错了,你还别说耗不起,就这还只是左

    右移动!!

     

    Vim/Vi 工作模式

     

    插入命令

    命令            作用

    a            在光标后附加文本

    A            在本行行末附加文本

    i            在光标前插入文本

    I            在本行开始插入文本

    o            在光标下插入新行

    O            在光标上插入新行

     

    定位命令

    命令            作用

    h 方向左键        左移一个字符

    j 方向下键        下移动一行

    K 方向上键        上移动一行

    l 方向右键        右移一个字符

    $                     移至行尾

    0(数字0)                移至行首

    H                    移至屏幕上端

    M                    移至屏幕中央

    L                    移至屏幕下端

    :set nu             设置行号

    :set nonu        取消行号

    gg                    到第一行

    G                    到最后一行

    nG                    到第n行

    :n                    到第n行

     

    删除命令

    命令            作用

    X                删除光标所在处字符

    nx                删除光标所在处后n个字符

    dd                删除光标所在行,ndd删除n行

    D                删除从光标所在处到行尾

    :n1,n2d        删除指定范围的行

     

    复制和剪切命令

    yy Y 复制当前行

    nyy nY    复制当行以下n行

    dd            剪切当前行

    ndd        剪切当前行以下n行

    p    P        粘贴在当前光标所在行下或行上

     

    替换和取消命令

    r            取代光标所在处字符

    R            从光标所在处开始替换字符,按Esc 结束

    u            取消上一步操作

     

    搜索和替换命令

    /string            向前搜索指定字符串 搜索时忽略大小写 :set ic(提前设置一下:set ic) 关闭忽略大小写功能 :set noic

    n    搜索指定字符串的下一个出现的位置 N 上一个出现的位置

    :%s/old/new/g        全文替换指定字符串 //最后一个g也可以写C c每次都需要确认信息

    案例: :%s/ftp/lamp/g 全文ftp替换lamp

    :n1,n2s/old/new/g 在一定范围内替换指定字符串

    案例 :4,10s/lamp/ftp/g 第4行到10行 lamp替换ftp

    保存和退出命令

    :w                 保存修改

    :w new_filename        另存为指定文件

    :wq                    保存修改并退出

    ZZ                    快捷键,保存修改并退出 (shift ZZ)

    :q!                    不保存修改退出

    :wq!                保存修改并退出(文件所有者可忽略文件的只读属性)

     

    应用实例

    导入文件 :r 文件名 案例 :r /etc/issue 将文件内容导入正在编辑的文件中

    在vi中执行命令 :!命令 案例 :r !date 将时间命令的结果导入正在编辑的文件中

    定义快捷键:map 快捷键 触发命令

    范例: : map ^P I#<ESC> //^p 是按ctrl +v+p 得到的^ // ctrl+p行首加#

    : map ^B 0x //ctrl+B 删除行首第一个字符

    连续行注释    :n1,n2s/^/#/g // 第n到n行行首替换(其实没替换任何东西,只                                            是行首添加)#

    :n1,n2s/^#//g         // 第n行到n行 行首#替换空(就是删除掉)    

    :n1,n2s/^////g //第n到n行首的// 替换空 (转义字符)

    替换 :ab sammail samlee@lampbrother.net //输入sammail 按空格(或回车)会自动替换成设置好的邮箱

    :unab sammail //取消之前定义的ab

     

    编辑vi的配置文件(就可以保存个性化设置)

    Vi /root/vimrc // root替换当前用户 或者 vi ~/.vimrc

    set nu

    map ^p I#<ESC>

    编辑了配置文件以后打开每个文件都是 显示行号的(set nu)

    博主QQ 343264992 QQ群交流:100411237 添加时候请备注博客园
  • 相关阅读:
    606. Construct String from Binary Tree
    696. Count Binary Substrings
    POJ 3255 Roadblocks (次短路)
    POJ 2823 Sliding Window (单调队列)
    POJ 1704 Georgia and Bob (博弈)
    UVa 1663 Purifying Machine (二分匹配)
    UVa 10801 Lift Hopping (Dijkstra)
    POJ 3281 Dining (网络流之最大流)
    UVa 11100 The Trip, 2007 (题意+贪心)
    UVaLive 4254 Processor (二分+优先队列)
  • 原文地址:https://www.cnblogs.com/chengkanghua/p/9236555.html
Copyright © 2011-2022 走看看