zoukankan      html  css  js  c++  java
  • vim的使用与配置

    vim的简单使用

    Content

    • 三种模式
    • 光标移动
    • 查找与替换
    • 删除、复制和粘贴
    • 命令行
    • 块选择
    • 多文件编辑
    • 多窗口显示
    • 中文编码问题
    • 语系转换和

    三种模式

    vim可以分为一般模式、编辑模式和命令行模式,各种模式的转换如下:
    一般模式 ---> 编辑模式

    i    当前表示符前
    o    当前提示符下一行
    a    当前提示符下一个
    r    向后擦出
    

    一般模式 ---> 命令行模式 :执行命令,/向下搜索,?向上搜索

    编辑模式 ---> 一般模式 使用ESC键退出

    移动光标

    h,j,k,l    分别是左移,下移,上移,下移
    0或者Home    移动到本行最前
    $或者End    移动到本行最后
    1G或gg    移动到第一行
    nG    移动到第n行
    G    移动到最后一行
    n+space    向后移动n个字符
    n+Enter    向下移动n行
    

    查找和替换

    /word    向下查找word
    ?word    向上查找word
    n    移动到下一个目标
    N    移动到上一个目标
    :n1,n2s/word1/word2/g    从第n2到n2行将word1替换为word2
    :1,$s/word1/word2/g    从第一行到最后将word1替换为word2
    :1,$s/word1/word2/gc    从第一行到最后将word1替换为word2
    

    复制和粘贴

    X    向前删除
    x    向后删除
    dd    删除光标所在行
    ndd    删除光标向下n行
    d0    删除光标处到最前
    d$    删除光标出到最后
    d1G    删除光标出到第一行
    dG    删除光标处到最后一行
    
    yy    复制光标所在行
    nyy    复制光标下n行
    y0    复制从光标出到本行最前
    y$    复制从光标处到本行最后
    y1G    复制从光标处到第一行
    yG    复制从光标处到最后
    
    P    复制到光标上一行
    p    复制到光标下一行
    
    u    复原上一个操作
    Ctrl+r    重复上一个操作
    

    命令行

    :q[!]    退出,加感叹号强制退出
    :w[!]    保存,加感叹号强制保存
    :wq[!]    保存退出,加感叹号强制
    ZZ    若有改动保存退出,若无改动直接退出
    :w[filename]    另存为filename
    :r[filename]    将filename内容引入光标后边
    :n1,n2 w filename    将n1到n2内容保存到filename中
    :!command    暂时离开vi执行命令command
    

    块选择

    v    字符选择
    V    行选择
    Ctrl+v    块选择,长方形选择数据
    y    复制选中块
    d    删除选中块
    

    多文件编辑

    vim filename1 filename2
    :n    编辑下一个文件
    :N    编辑上一个文件
    :files    列出目前vim打开的所有文件
    

    多窗口显示

    :sp filename    将另一个文件打开在另一个窗口
    :sp    将本文件再次打开在另一个窗口
    Ctrl+w+k/上    上一个窗口
    Ctrl+w+j/下    下一个窗口
    Ctrl+w+q    关闭当前窗口
    

    中文编码问题

    DOS与linux段行字符
    在dos中CR与LF都是段行,在linux中只有LF

    dos2unix [-kn] file newfile
    unix2dos [-kn] file newfile
    -k 保留源文件的日期
    -n 保留源文件
    

    语系转换和查看文件编码

        iconv --list:输出iconv支持的编码
      iconv -f 原本编码 -t 新编码 [-o newfile]
        file -bi filename
      :set fileending
    

    简单配置

    set smarttab
    set tabstop=4
    set shiftwidth=4
    set expandtab
    set autoindent
    set nu
    

    Referrences
    [1] 摘自《鸟哥的私房菜》第三篇,人民邮电出版社

  • 相关阅读:
    [bzoj1039] [ZJOI2008]无序运动Movement
    [bzoj1037] [ZJOI2008]生日聚会Party
    [bzoj1034] [ZJOI2008]泡泡堂BNB
    wing IDE
    用css解决table文字溢出控制td显示字数
    表格Table宽度设置无效的解决方法
    mysql获取某个表的所有字段名
    Python 各种编码相互转化 (目前只有Unicode utf-8)
    Python dict转化为string方法
    前端传给后端的数据类型为ImmutableMultiDict 咋办
  • 原文地址:https://www.cnblogs.com/bingo711x/p/6127840.html
Copyright © 2011-2022 走看看