VIM小技巧_5

本文最后更新于2015年2月20日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

1.在Vim中粘贴代码
搜关键字:

http://search.aol.com/aol/search?q=vim+paste+code

每次在Vim中复制代码时,如果代码里有 // 这样的注释就容易让格式乱掉,通过下面的设置就可以避免这种情况。

  • 粘贴代码时取消自动缩进

Vim在粘贴代码时会自动缩进,把代码搞得一团糟糕,甚至可能因为某行的一个注释造成后面的代码全部被注释掉,所以需要先设置一下:

:set paste

然后再进入插入模式粘贴,代码就不会被自动缩进。可是敲代码的时候需要自动缩进,又得改回来:

:set nopaste
  • 在.vimrc中添加一行
set pastetoggle=<F9>

以后在插入模式下,只要按F9键就可以切换自动缩进。

参考链接:

====

2.在Vim中插入当前系统时间
搜索关键字:

可以使用三种方法:

1. strftime函数
:nnoremap <F5> "=strftime("%F")<CR>gP
:inoremap <F5> <C-R>=strftime("%F")<CR>
'上面两行加入到$HOME/.vimrc当中,重新启动VIM,然后就可以在一般模式和编辑模式下用快捷键F5,插入当前系统时间了。
'这里设置的时间格式是xxxx-xx-xx,当然你也可以修改喜欢的格式,和date(1)命令的时间格式是一致的。我自己使用的格式如下:
:nnoremap <F5> "=strftime("%F %R")<CR>gP
:inoremap <F5> <C-R>=strftime("%F %R")<CR>
2. 使用替换命令

在需要插入时间的地方,设置一个标记,比如我设置了itime
然后执行替换命令:

:%s/hitime/\=strftime("%F %R")/
3. 使用外部shell命令date(1)
:r! date +'\%F \%T'

上面的使用r命令从外部date的输出当中读取到当前文件中(注意这里无法给date命令添加选项!)

参考链接:

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/1966.html

3 thoughts on “VIM小技巧_5”

  1. 在Vim中如何执行当前打开的文件?
    http://stackoverflow.com/questions/15449591/vim-execute-current-file
    http://stackoverflow.com/questions/3166413/execute-a-script-directly-within-vim-mvim-gvim
    https://superuser.com/questions/546827/executing-scripts-with-bash-from-vim
    https://superuser.com/questions/285500/how-to-run-unix-commands-from-within-vim
    `
    # 方法一(已有正确的shellbang的情况下):
    :!%:p
    #将其映射成快捷键
    nnoremap :!%:p
    nnoremap r :!%:p

    # 方法二:
    :!sh %
    :!perl %
    :!python %
    `

发表评论

电子邮件地址不会被公开。 必填项已用*标注