zoukankan      html  css  js  c++  java
  • VIM

    1. GVIM      添加多行注释:v 进入可视模式,shift+方向键 选择注释行 ,ctrl+q 标记航头,I在行头插入,输入插入内同(如//),ESC。
    2. VIM 

      :sp <filename>
       打开一个文件,并和当前打开的文件分屏显示。

      Ctrl+W+W
      在分屏显示中的不同文件中切换。

      *
      向前搜索目前光标所在的单词。

      #
      向后搜索目前光标所在的单词。

      :%s/word1/word2/g
      全文搜索word1并以word2替换之。

      :’a,’bs/word1/word2/g
      仅在第a行到第b行间搜索并替换。

    3. vim中格式化代码

      格式化全文: gg=G

      自动缩进当前行: =

      You can format/indent an entire file using the gg=G command, where

           gg - Goto the beginning of the file
           =   - apply indentation
           G   - till end of file

      For more information, read

           :help gg
           :help =
           :help G
           :help 'formatprg'
           :help C-indenting

     在.vimrc中添加以下代码后,重启vim即可实现按TAB产生4个空格:

    set ts=4  (注:ts是tabstop的缩写,设TAB宽4个空格)
    set expandtab
     
    对于已保存的文件,可以使用下面的方法进行空格和TAB的替换:
    TAB替换为空格:
    :set ts=4
    :set expandtab
    :%retab!
     
    空格替换为TAB:
    :set ts=4
    :set noexpandtab
    :%retab!
    加!是用于处理非空白字符之后的TAB,即所有的TAB,若不加!,则只处理行首的TAB。
     
    VIM录制宏以及使用:
    处理一个协议的数据,因为数据是通过串口抓取的,没有格式看起来很不方便,如果一直做重复的操作很累,忽然想起来了vim的宏,以前没有用过,上网查了下,确实很好用。
    <1>qa:将录制的宏存入寄存器a
    <2>操作
    <3>q结束录制。
    <4>@a:执行寄存器a的宏,次数为1次;@@使用最近录制的宏;7@a执行7次;100@a执行100次。
     

    Linux编辑器vim中删除行尾的^M

      有时候,在 Linux 中使用打开曾在 Windows 中编辑过的文件时,会在行尾看到 ^M 字符。看起来总是感觉很别扭。

      删除方法如下:

      在 Vim 的命令模式中输入 :%s/^M$//g 后,回车即会自动删除该文件中的所有 ^M 字符。

      注意: ^M 要用 Ctrl + v, Ctrl + m 来输入, 用键盘直接敲^和M是不行的! 后面的 $ 代表匹配行尾的内容,最后的 g 则表示每行中匹配到的内容都要置换--全局替换,否则只替换每行中匹配到的第一个。

      又脚本删除方法:

      cat file | col -b > file.1 // 这个可以去掉,但是生成文件里汉字变乱码

      sed -e 's/.$//g' file // 正确

      sed ‘s/^M//' file // 正确,但是 ^M = Ctrl + v, Ctrl + m

      附录:^M 另一个会出现的情况是文件在 windows 和 Linux 系统间通过 Ftp 传送。这是建议方法是:强行设定 ftp 方式为 ascii 方式就可以了啊! 当然也可以通过软件 dos2unix 搞定。

    ctrl+a: number+1

    ctrl+x:   number-1

  • 相关阅读:
    Bootstrap留言板界面练习
    Bootstrap 学习
    web | [GXYCTF2019]禁止套娃
    re | [GKCTF2020]WannaReverse
    PE文件结构 | 在PE文件的空白区添加代码
    PE文件结构 | RVA与FOA的转换
    re | [NPUCTF2020]BasicASM
    win32 | WinSock2网络编程 | socket-tcp通信
    web | flask 修饰器实现原理
    运维 | 配置LNMP | 基于docker.ubuntu:16.04
  • 原文地址:https://www.cnblogs.com/bugershang/p/2966128.html
Copyright © 2011-2022 走看看