在 VIM 中,我发现自己在输入文本之前反射性地按下了插入键。
通常因为我一直在做一些阅读,而且经常,但并非总是如此,我会转出去做搜索或其他事情。(进入正常模式)。当我已经处于插入模式时,按插入键会使我进入替换模式。
对于我个人的工作方式和我正在做的工作,我几乎从不想处于替换模式。
理想情况下,我希望插入键的行为是:
Insert: If in insert mode, do nothing,
If not in insert mode, change to insert mode.
Run Code Online (Sandbox Code Playgroud)
我想表现
Shift+Insert: Change to Replace Mode
(I don't use shift insert for pasting - i've got tused to using P for that
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?我确信它可以在我的 .vimrc 中使用许多重映射命令之一来完成。
我有 ctags,我会通过将光标放在一个函数上并按 ctrl ] 来跳转到函数。但是,我发现这有时很不方便。
例如,如果我的光标离我想跳转到的函数很远,那么它会令人沮丧。
ctags 或 vim 中是否有命令可以通过键入函数名称并按下按钮来自动跳转到函数?如果它是模糊的并为您预测功能会更好。因此,例如,如果我想转到一个名为 的函数process_input(),那么我会输入该函数并按g什么。
我已经检查了几个类似的链接,但没有任何效果。在我解释这个问题之前,我早些时候在保存任何文件时收到以下消息:
vim e509 Cannot create backup file (add ! to override)
Run Code Online (Sandbox Code Playgroud)
在寻找解决方案时,我遇到了几个建议创建 .vimrc 文件的链接。所以我创建了一个并在其中输入了以下内容:
set backup
set backupdir=~/.vim/backups
Run Code Online (Sandbox Code Playgroud)
我还创建了 ~/.vim/backups 目录。此外,没有 .viminfo 文件。我想我在尝试解决问题时删除了它。
可能感兴趣的其他一些细节是:
-sh-4.2$ id
uid=497(git) gid=496(git) groups=496(git)
-sh-4.2$ ls -ld .vim*
drwxr-xr-x 3 git git 4096 Dec 28 21:59 .vim
-rw-r--r-- 1 git git 40 Dec 28 22:09 .vimrc
-sh-4.2$ ls -l .vim/
drwxr-xr-x 2 git git 4096 Dec 28 22:11 backups
-sh-4.2$ pwd
/var/opt/gitlab
-sh-4.2$ ls -ld /var/
drwxr-xr-x 20 root root 4096 Dec 20 22:31 /var/ …Run Code Online (Sandbox Code Playgroud) 我现在正在尝试切换到 VIM,并希望让它像 Python 的 IDE 一样自动缩进。我有以下 .vimrc 文件
syntax on
set number
autocmd FileType tex,latex,python set showmatch
nnoremap j gj
nnoremap k gk
"Python Settings
autocmd FileType python set softtabstop=4
autocmd FileType python set tabstop=4
autocmd FileType python set autoindent
autocmd FileType python set expandtab
autocmd FileType python set textwidth=80
autocmd FileType python set smartindent
autocmd FileType python set shiftwidth=4
autocmd FileType python map <buffer> <F2> :w<CR>:exec '! python' shellescape(@%, 1)<CR>
autocmd FileType python imap <buffer> <F2> <esc>:w<CR>:exec '! python' …Run Code Online (Sandbox Code Playgroud) 我正在使用 gVim 并且每次我需要更改我的 _vimrc 文件。但它位于程序文件中,因此由于系统保护,我无法在那里保存我的编辑。所以我将文件复制到桌面,更改它,保存并移回 vim 目录。咳咳。有什么办法可以直接保存吗?
我有一个如下所示的文件:
2067 24311 <hkxhk> {00}
2069 17219 <hkxhk> {00}
2071 20931 <hkxhk> {00}
2073 5557 <hkxhk> {00}
2075 2127 <hkxhk> {00}
2077 20947 <hkxhk> {00}
2081 18088 <hkxhk> {00}
Run Code Online (Sandbox Code Playgroud)
我想替换第一列值,使其看起来像
5 24311 <hkxhk> {00}
5 17219 <hkxhk> {00}
5 20931 <hkxhk> {00}
5 5557 <hkxhk> {00}
5 2127 <hkxhk> {00}
5 20947 <hkxhk> {00}
5 18088 <hkxhk> {00}
Run Code Online (Sandbox Code Playgroud)
其中第一个空格分隔列已替换为新值,在本例中为 5。