Hot answers tagged

9

I'm on Windows 10, update 1909, and I've resolved this by overriding high DPI settings for gVim to System(Enhanced). Setting GUI font size did not help. Right click on gVim icon -> Properties -> Compatibility -> Change high DPI settings -> check box "Override high DPI scaling behavior" in the bottom of the dialog window and set "Scaling performed by:" to "...


6

To quote the help: *gf* *E446* *E447* [count]gf Edit the file whose name is under or after the cursor. Mnemonic: "goto file". Uses the 'isfname' option to find out which characters are supposed to be in a file name. Trailing punctuation characters ".,:;!" are ignored. Escaped ...


3

I find a way myself -- a python module rpdb - remote debugger based on pdb. It works for me. Install using pip install rpdb Set breakpoint with rpdb.set_trace() in plugin python script. Try to active the plugin in vim. The vim will hang-up. Use telnet to connect the vim process. telnet localhost 4444. It will be same as pdb to use.


3

There are too(?) many ways to do this. 1) :mkexrc :mkexrc [file] writes all mappings and changed options to a file (.exrc by default) 2) Option window :options opens a buffer with extra UI to change options (the code is in $VIMRUNTIME/optwin.vim); of course, the buffer is accessible by standard Vim commands too 3) Expression register i<C-R>=&...


3

The browsefilter variable is a convenient way to add custom glob like filters for the graphical :browse dialog and select only the relevant filetypes for display. As you discovered, those are usually set in the filetype plugins. If you want to customize those filters, create a file in ~/.vim/after/ftplugin/<filetype>.vim (replace <filetype> by ...


3

You can check if your vim runs in gui: if has("gui_running") colo koehler else colo darkblue endif You can also use gvimrc file (:h gvimrc) instead. The drawback is that you would have colorscheme run twice (one in vimrc, another in gvimrc) for gVim unless you guard it in vimrc, again, with has("gui_running"): vimrc if !has("gui_running") ...


3

According to :help drag-n-drop and :help :drop, it doesn't seem like this behavior is change-able. The help also says If Vim happens to be editing a command line, the names of the dropped files and directories will be inserted at the cursor. This allows you to use these names with any Ex command. Special characters (space, tab, double quote and '|'; ...


3

Since font is specific to the GUI versions of vim (i.e. gvim and macvim), you need to should put the set guifont=... line in your gvimrc. A good place for that is ~/.vim/gvimrc, but you can read help gvimrc for locations. According to setting-guifont: *setting-guifont* When you use the same vimrc ...


3

You can do y3w if you are at beginning of a word (so: yank 3 words) or by3w to get at the beginning of the word first (so: back yank 3 words)


3

I guess that set columns=161 does not take effect immediately. Maybe not until Vim displays a window, which according to :h startup happens after the vimrc is read. The latter is processed in the third step of the documentation, while the windows are still not displayed in the 11th step: Open all windows When the |-o| flag was given, windows ...


3

Highlight in gui or true color terminal with :h termguicolors is not affect by :h cterm, cterm is used for 8, 16, 256 color terminal. This command should change gui LineNr: hi LineNr guifg=#ff0000 guibg=#000000 A quick look at the source, this colorscheme use only 16colors, it doesn't use ansi 16 colors, it works for gui, true color and 256color terminal. ...


3

First: I have no experience with i3wm. So my observation from "normal" windows manager. Vim is working with monospaced fonts. So every character is displayed in a box with a certain width and height in pixels. If you change the size of the font, the size of this box changes. If the GVim window is not fullscreen, the size of the window will change ...


3

You need to add a literal newline (displayed as ^M). You can type this character into your _vimrc by holding down Ctrl and typing v followed by m, and then releasing Ctrl. So for each line you would have: normal i __ __ __^M normal i / | / |/ |^M " etc... where ^M is not the characters "^M" literally, but the result of typing Ctrl+...


2

You can map Ctrlz to anything you want in gVim. You do not need to first unmap it. In fact, mswin.vim, which comes with the gVim package, already maps it to undo like this: noremap <C-Z> u


2

The solution was to define $HOME as a Windows environment variable. Once I did that and restarted gVim, it read my ~\_vimrc and also sourced my native Vim 8.1 packages correctly. Source: this answer at Stack Overflow.


2

This is a known problem and has been discussed a couple of times in the past. Unfortunately, Vim is not really good suited to the specifics of indic fonts and therefore in the current implementation displays them a bit garbled. Having said that, a PR implementing proper support would certainly be appreciated. See those threads on the mailinglist: https://...


2

Another way is to use a sub-replace-expression, \=: :%s/([^)]*)/\=substitute(submatch(0),'\/','.','g')/ The :s/([^)]*)/{replacement}/ will match a pair of parens, ([^)]*). The {replacement} is \={expr}. Where {expr} will be a vimscript expression to be evaluated. In this case a substitution over the entire match, submatch(0), matching on \/ and replacing ...


2

If there really isn't a simple query to find the information then we'll have to brute-force it... Two key behaviors are described in :h 'guifonts': [If a list of fonts is given] the first valid font is used. and [If a single font is given and] the font cannot be found you will get an error message. That suggests something like this function: func! ...


2

It's not perfect since you have to run it multiple times to get every slash, but that's not too big of a problem: :%s/(.*\zs\/\ze.*)/./g This will replace one slash inside of parenthesis with a dot. To get it to replace all of them, you could then run something like 5@: to get all of them replaced. (Adjust 5 to be as big as needed).


2

I had the same problem as the OP after upgrading from Ubuntu 16.04 to 18.04. Turns out the condition if has("gui_gtk2") in _vimc is no longer true, changed it to "gui_gtk3" as a wild guess and bingo! my fonts settings are working again.


2

As I mentioned in comment, min keystrokes are not always the most convenient. I would go with: :%s/^.*:/\U&/g Or, align all text with vim-easy-align: gaip: CTRL-V (and select all keys) U But this has a side effect of all keys aligned with :. Or without a plugin: /name gUiw j.j.j. Or with normal command: vap :'<,'>norm! wgUiw '<,'> ...


2

This is a normal behaviour of gui flavours of vim like gvim. <m-i>, <a-i> and é are the same thing. Usually people aren't bothered by meta+key inserting an accentuated character, but the other way around. See the very old issue with French people needing to insert é in LaTeX document which in turn triggers \item insertion (IIRC) with vim-latex. ...


2

There are several GUIs for Neovim because it externalises the user interface elements, so any GUI can draw these in different ways. There's a list that tracks the status of these projects. My favourites are FVim and goneovim and both support remote sessions


2

I believe gvim --remote is what you're looking for. If no GVim is running, it will start a new instance of it, but if an instance is already running, gvim --remote will open the file on that instance and raise its window. See :help --remote for details. You might also like --remote-tab to open the file in a new tab. If you set your file associations to ...


2

From this video: UltiSnips evaluates each text object that might have a dependency on some types of text multiple times, to make sure that all dependencies are properly updated. To prevent the date from being updated several times, you could switch to a python interpolation, and use the guard if not snip.c. For example, you could replace this: ** ...


2

dir and cd are not external utilities, but shell builtins. They cannot be executed directly. You have to open :terminal without parameters to run cmd.exe and only after that enter a command like dir. Note that :! differs, as it prepends :h 'shell' and :h 'shellcmdflag' before your command automatically.


2

You have to create your own mapping. Perhaps like this: nnoremap gX :!SumatraPdf <C-r><C-l><CR> The <C-r><C-l> copies the current line as parameters for SumatraPDF. Important: The line must only contain the parameters for SumatraPDF. See :h c_CTRL-R_CTRL-L


2

In GVim, you can control the 16 ANSI colors used by your terminal with the g:terminal_ansi_colors variable. See :help g:terminal_ansi_colors: In GUI mode or with 'termguicolors', the 16 ANSI colors used by default in new terminal windows may be configured using the variable g:terminal_ansi_colors, which should be a list of 16 color names or ...


2

In modern vim/neovim there is :h g:terminal_ansi_colors (vim) or 16 of g:terminal_color_0 .. g:terminal_color_15 (neovim). If you open gruvbox colorscheme you use, you will find those definitions there (most probably). Basically: your whatever terminal can have palette of base 16 colors defined (there are defaults for each type of terminal, but you can ...


2

Maybe another font is better? Some accessibility setting? GVim has different undercurl implementation in Windows and Mac. The code for Mac uses "LineTo" primitive, but Windows-specific procedure sticks to "SetPixel" and you can't do anything about this except choosing more contrast color or opening issue on Vim's github. I'd rather choose not to have "...


Only top voted, non community-wiki answers of a minimum length are eligible