1.在Vim中粘贴代码
搜关键字:
http://search.aol.com/aol/search?q=vim+paste+code
每次在Vim中复制代码时,如果代码里有 // 这样的注释就容易让格式乱掉,通过下面的设置就可以避免这种情况。
-
粘贴代码时取消自动缩进
Vim在粘贴代码时会自动缩进,把代码搞得一团糟糕,甚至可能因为某行的一个注释造成后面的代码全部被注释掉,所以需要先设置一下:
:set paste
然后再进入插入模式粘贴,代码就不会被自动缩进。可是敲代码的时候需要自动缩进,又得改回来:
:set nopaste
-
在.vimrc中添加一行
set pastetoggle=<F9>
以后在插入模式下,只要按F9键就可以切换自动缩进。
参考链接:
- http://vim.wikia.com/wiki/Toggle_auto-indenting_for_code_paste
- http://stackoverflow.com/questions/2514445/turning-off-auto-indent-when-pasting-text-into-vim
- http://stackoverflow.com/questions/3217007/how-do-you-paste-with-vim-without-code-being-commented
- http://hi.baidu.com/hellosim/item/e0748d0aec15a4e4349902c9
====
2.在Vim中插入当前系统时间
搜索关键字:
- http://search.aol.com/aol/search?q=vim+insert+time
- http://search.aol.com/aol/search?q=vim+insert+strftime
可以使用三种方法:
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命令添加选项!)
《 “VIM小技巧_5” 》 有 3 条评论
Vim相关文章
http://harttle.com/tags.html#Vim
在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 %
`
专注于Vim配置、插件、Vim命令和Vim教程
https://vim.ink/