Heim > Fragen und Antworten > Hauptteil
Ich habe einen großen Abschnitt des Python-Codes unter vim eingefügt, aber ab einer bestimmten Zeile wurde alles durch eine zusätzliche Registerkarte nach hinten verschoben. Es gab mehr als 100 Zeilen, eine nach der anderen, und ich war erschöpft.
Gibt es eine Möglichkeit, es einfacher zu machen?
漂亮男人2017-05-16 16:43:40
在vim里,粘贴代码之前最好进入粘贴模式,这样就会关闭自动缩进
set paste
将代码粘贴进去之后再关闭粘贴模式
set nopaste
缩进单行代码是两个大于号'>>'
回缩就是两个小于号'<<'
如果想要缩进很多行代码的话就按照下面做
1 //在这里按下'v'进入选择模式
1
1
1
1
1
1//光标移动到这里,再按一次大于号'>'缩进一次,按'6>'缩进六次,按'<'回缩。以下同理
function helo{//将光标移动到'{',在按下'%',光标将会移动到匹配的括号
//这里省略1000行
}//光标会移动到这里,再按一次大于号'>'就可以缩进
PHP中文网2017-05-16 16:43:40
在 Vim 中粘贴要注意,如果 Vim 无法知道你是在粘贴(非 GUI 版本,终端中没有打开鼠标支持或者终端本身不支持鼠标,因为 Vim 没有 X 剪贴板支持而绕过 Vim、使用带 Shift 键的方式让终端直接粘贴(如往 ssh 中的 Vim 粘贴时通常 Vim 不能访问本地剪贴板,所以只能让终端去「打字」)),那么你需要在粘贴前设置 'paste' 选项。该选项会在插入模式禁用自动缩进、映射等。详见 :h 'paste'
天蓬老师2017-05-16 16:43:40
在 vimrc 里面定义好python的各种 tab,例如:
autocmd FileType python set ts=4 | set sw=4 | set expandtab
然后在 normal 模式,直接输入=nj
n 是要求自动对齐的行数,不管缩进是怎么样的乱,都会自动对齐
给我你的怀抱2017-05-16 16:43:40
在下以为 vim 提供的命令都很灵活,但都太底层了。目前所有答主的答案都是硬敲的,难记忆也没有效率,建议设置成快捷键吧。
比如个人习惯用tab,选中目标区域然后按快捷键即可。
viml
vnoremap <tab> >gv vnoremap <s-tab> <gv
以题主的问题为例。
完~