我想要的是将选项卡键转换为vim编辑器中的空格。例如,如果我输入选项卡键,那么它将转换为4个空格。
我在.vimrc中添加了以下设置
set tabstop=4
set expandtab
set shiftwidth=4
当我输入第一个选项卡时,它将光标移动到位置5而不是位置4,但从第二个选项卡,光标移动到9、13、17等位置。
只有第一个选项卡的情况似乎不正确。我做错什么了?
很久以前,在另一台机器上,当我用VIM编写C代码时,我启用了一些功能,所以当我开始使用/*进行注释并在输入*/之前点击enter时,VIM会放置一个*并将其很好地空间。那是什么,我怎样才能把它拿回来?我想让它自动地这样做:
/* some comments
* <-- VIM put this " * " here */
一般建议,使VIM更酷的欢迎。
我正在为我选择的IDE寻找一种替代TextMate的方法。我尝试过各种其他IDE,并开始喜欢Atom,但我仍然在经历这个特别令人恼火的问题。
一旦我们将项目推送到生产服务器上,并且需要在服务器上通过vi进行编辑,vi中的空白总是比图形化IDE中的更严格。例如,在TextMate中,如下所示:
function foo(){
var bar;
if($this)
...
else
...
}
在vi中是这样的:
function foo(){
var bar;
if($th
我在用vim写Markdown。当我输入这个:
1. test
2. test
Vim很烦人,并将其格式化如下:
1. test 2. test
我的formatoptions (tqlna)确实包括n。文件类型是markdown。formatlistpat如下:
setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^[-*+]\\s\\+
它的部分功能似乎是有效的,因为Vim明白它不应该重新格式化以-、*或+开头的列表。
我怎么才能解决这个问题?
我在vim/gedit/其他文本编辑器上编写python代码。因此,每次我在代码中添加一个新循环时,我都会重新缩进以下几行代码。
#original code
for (something):
do something.
#new code
for (something else):
for (something): #line manually re-indented
do something #line manually re-indented
在文本编辑器(具体来说,gedit)上,有什么更好的方法来实现它呢?我主要是使用python编写脚本,所以不喜
#!/bin/bash
if [ $# -ne 1 ]
then
echo "USAGE:vitest filename"
else
FILENAME=$1
exec vi $FILENAME <<EOF
i
Line 1.
Line 2.
^[
ZZ
EOF
fi
exit 0
我试图使用这里的文档和命令使用Exec vi输入第1行和第2行。
在运行脚本时,它给出了以下内容:
Vim(?):Warning: Input is not from a terminal
Vim: Error reading input, exiting...
Pres