我正在为Java files编写一个基本的Vim模板,当我创建一个扩展名为.java的新文件时,它会创建一个裸露的骨架类。
示例:
vim Banana.java
Vim创建一个包含如下代码的文件:
public class TODO {
public static void main(String[] args) {
// ...
我的目标是将我的默认类名TODO更改为不带扩展名的文件名,以便:
vim Coconut.java
创建:
public class Coconut {
而不是:
public class TODO {
请问我怎样才能做到这一点呢?我已经搜索了这个
我有包含以下内容的文件test.py:
print u'\u0410'
和Makefile
test:
python test.py
当我用Vim :!python test.py写字时
А
Press ENTER or type command to continue
但是当我写:make test的时候
python test.py
Traceback (most recent call last):
File "test.py", line 1, in <module>
print u'\u0410'
Un
我在.vimrc中有以下代码可以在vim启动时自动保存/加载会话:
" Session saving
" Automatically save / rewrite the session when leaving Vim
augroup leave
autocmd VimLeave * mksession! ~/.vim/session.vim
augroup END
" Automatically silently load the session when entering vim
autocmd VimEnter * silent source
假设我有以下代码:
def incr(d, a)
r = {}
for key, value in d.items():
if key != a:
value += 1
r[key] = value
return r
def decr(d, a)
r = {}
for key, value in d.items():
if key == a:
value -= 1
r[key] = value
retur r
可以看出,它在两个定义中都
我今天重新安装了Ubuntu20.04。我已经设置了我的vim环境,当我遇到一个速度障碍时,它可以使用curl安装plug.vim。
Error creating directory /home/simon/.vim/autoload.
curl: (23) Failed writing received data to disk/application
.vimrc中的相关行是:
" Auto-install plugin manager if it doesnt exist (and PlugInstall)
if empty(glob('~/.vim/autoload/p
vim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jun 06 2019 17:31:41)
Included patches: 1-1453
Modified by pkg-vim-maintainers@lists.alioth.debian.org
Compiled by pkg-vim-maintainers@lists.alioth.debian.org
Huge version without GUI. Features included (+) or not (-):
+comments +
在编辑、保存和退出具有特定扩展名的文件时,可以在shell提示符上自动运行shell命令吗?
在我的.vimrc中,我有以下内容(感谢有人将此作为对其他人问题的回答):
let shells = {
\ 'py': "python",
\ }
let extension = expand("%:e")
if has_key(shells,extension)
let fileshell = shells[extension]
let line = "#!" . s
当我用VIM编写python脚本时,我想直接将它们测试到VIM中,我知道我可以使用:
w !python -
但是这会执行脚本并突然关闭shell,所以如果我想测试一个函数,我就不能用各种参数调用它!例如,如果我有以下代码:
print "How can I test the following function in Vim?"
def testfunc(test):
print test*2
当我在VIM w !python -中运行时,它会打印出print语句,但我不能尝试使用一些任意参数来测试函数。如何在python shell中运行脚本以进行进一步测试?
我正在考虑为我的需求在文件中编写一个if语句。但是,我不确定如果在中执行语句,如何执行.vimrc。它们是在vim启动时只执行一次,还是每次发生事件时都执行一次?例如,我计划在.vimrc中插入以下代码
"Check if the drop down menu is active
if pumvisible()
"pass 'down' key to vim
\<lt>Down>
endif
如果代码每次在vim工作区中活动,或者根本无法工作,那么代码会执行吗?
TL;
博士
如何找到vim或nvim错误的确切起始位置(哪个文件?)当我有兴趣解决实际问题,而不仅仅是删除坏插件?有比strace和猜测更好的发现错误来源的方法吗?
问题
我经常在我的vim或nvim配置中添加一个插件,最终得到钩子上的错误(缓冲区打开、关闭、写入):
"test.py" [New] 0L, 0C written
Error detected while processing function 343[12]..272:
line 8:
E716: Key not present in Dictionary: _exec
E116: Invalid ar