标签: vim

VIM 禁用替换模式

在 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 中使用许多重映射命令之一来完成。

keyboard-shortcuts vim

0
推荐指数
1
解决办法
721
查看次数

在 Vim 中跳转到函数

我有 ctags,我会通过将光标放在一个函数上并按 ctrl ] 来跳转到函数。但是,我发现这有时很不方便。

例如,如果我的光标离我想跳转到的函数很远,那么它会令人沮丧。

ctags 或 vim 中是否有命令可以通过键入函数名称并按下按钮来自动跳转到函数?如果它是模糊的并为您预测功能会更好。因此,例如,如果我想转到一个名为 的函数process_input(),那么我会输入该函数并按g什么。

vim ctags

0
推荐指数
1
解决办法
649
查看次数

Vim 错误 - E138:无法写入 viminfo 文件

我已经检查了几个类似的链接,但没有任何效果。在我解释这个问题之前,我早些时候在保存任何文件时收到以下消息:

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 permissions vimrc

0
推荐指数
1
解决办法
8360
查看次数

Python 版 Vim 中的自动缩进

我现在正在尝试切换到 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)

vim python

0
推荐指数
1
解决办法
8279
查看次数

将文件保存在 Windows 保护的文件夹中

我正在使用 gVim 并且每次我需要更改我的 _vimrc 文件。但它位于程序文件中,因此由于系统保护,我无法在那里保存我的编辑。所以我将文件复制到桌面,更改它,保存并移回 vim 目录。咳咳。有什么办法可以直接保存吗?

windows vim

-1
推荐指数
1
解决办法
121
查看次数

在 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。

vim

-1
推荐指数
1
解决办法
4290
查看次数

标签 统计

vim ×6

ctags ×1

keyboard-shortcuts ×1

permissions ×1

python ×1

vimrc ×1

windows ×1