我想知道在vim for Common Lisp中自定义自动格式化/自动缩进的最好方法。
自动格式化(我通常通过在每行命令模式下输入'==‘来实现)非常适用于vim中的基本lisp语言(例如,Def宏,defun,lambda,if,with-output- to -string),但是任何时候定义新的语言构造(例如,使用宏)时,我发现新构造的格式化通常不是我希望的那样。
例如,下面是vim如何格式化'when (标准lisp构造)和'awhen (‘when’的常用回指版本;不是lisp标准的一部分)
(when 'this
(process 't
我在用lisp编程时,vim中的自动缩进有问题。
我的.vimrc具有以下选项卡设置:
set noexpandtab
set autoindent
set softtabstop=0
set shiftwidth=8
set tabstop=8
当我在insert-模式中键入(if <enter>时,将创建一个新的行,其缩进为双空格。我的设置中没有任何关于两个空格的信息,所以为什么我没有一个选项卡呢?在插入模式下,我可以使用什么设置来更改缩进?
提前感谢!
更新:谢谢你的回答,设置没有被覆盖。这与“默认的lisp缩进”有关。在:help lisp中,它提到了更改cpoptions
我试图用一个在emacs+slime上运行的lisp程序来确定系统的操作系统,使用来自互联网的代码(因为我是lisp的新手)。特别是,我使用了以下代码:
;; check OS type
(cond
((string-equal system-type "windows-nt") ; Microsoft Windows
(progn
(message "Microsoft Windows") )
)
((string-equal system-type "darwin") ; Mac OS X
(progn
(
当我在vim中使用等号来缩进文本时,它会用3个空格来缩进。我需要4.我试图在.vimrc文件中修改它的代码(灵感来自我找到的一些例子,但它不起作用):
autocmd BufWinLeave *.* mkview
autocmd BufWinEnter *.* silent loadview
set smartindent
set tabstop=4 " The width of a TAB is set to 4.
" Still it is a \t. It is just that
我有几个使用Vim的系统,其中一个系统无法查看/编辑压缩文件。我相信我有正确的插件,因为我的Vim 7.0的另一个系统可以与相同的插件正常工作。
我得到一个错误:
$ vi admin.war
~
...
~
***error*** (zip#Browse) unzip not available on your system
我的机器:
$ uname -srmo
Linux 2.6.35.4-rscloud x86_64 GNU/Linux
$ vim --v
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Sep 28 2010 11:05:08
如何以优雅的方式使用单个.vimrc文件(没有way插件)来改变Vim的行为?
我的意思是...如果我为C/C++文件运行了许多建议,例如:
set nu
set cin
set ai
set mouse=a
color elflord
和另一组推荐的AsciiDoc文件,例如:
set syntax=asciidoc
set nocin
set spell spl=en
不提Python、LaTeX等……
提供了将autocommand放在每个自定义命令之前的解决方案。
有没有一种很好的方法可以在不使用ftplugin的情况下为autocommand对它们进行分组-以便将所有内容都保存在单个
我在Linux上工作,我在Linux终端上执行了for循环,如下所示:
for i in `cat fileName.txt`
do
echo $i
vim $i
done
fileName.txt是一个包含我在vim编辑器中一个接一个打开的大量文件条目的文件。现在,我必须跳过打开中间的其他文件。(即,我必须中断for循环)。有什么建议如何获得运行for循环的PID吗?然后杀掉同样的人。提前谢谢。