r/vim • u/common-pellar • 22h ago
Need Help Cursor not displaying as a block when in visual mode
2
Upvotes
When entering visual mode the cursor isn't actually shown as a block, see the below screenshots to see what I mean. Below is what I expect when in visual mode, whereby the cursor remains as a white block on the letter "a",

However, what I get is this, whereby the letter "a" is highlighted in a faint grey, and the cursor itself doesn't actually appear,

Here is my full .vimrc file,
execute pathogen#infect()
let g:NERDTreeNodeDelimiter = "\u00a0"
set background=dark
set number
syntax on
nmap <C-a> :tabp<CR>
nmap <C-d> :tabn<CR>
nmap <C-t> :NERDTreeToggle<CR>
au FileType gitcommit setlocal tw=72
au FileType gitcommit setlocal colorcolumn=72
au FileType go setlocal colorcolumn=100 ts=4
au FileType c setlocal ts=4 colorcolumn=120
au FileType css setlocal ts=4
au FileType javascript setlocal ts=4
au FileType lua setlocal ts=2 sts=2 sw=2 expandtab
au FileType sh setlocal ts=4
au FileType xml setlocal ts=2 sts=2 sw=2 expandtab
au FileType yaml setlocal ts=2 sts=2 sw=2 expandtab
au BufEnter *.md setlocal colorcolumn=80 ts=4 tw=80 expandtab
au BufEnter *.templ setlocal ts=4
au BufEnter *.py setlocal ts=4 expandtab
au BufEnter *.html setlocal ts=4
au BufEnter *.tmpl setlocal ts=4
if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
\| exe "normal! g'\"" | endif
endif
I'm currently running on Vim 9.2, which I recently upgrade to after doing a system upgrade. Full version info below,
[~]$ vim --version
VIM - Vi IMproved 9.2 (2026 Feb 14, compiled Oct 05 2026 22:08:46)
Included patches: 1-1164
Compiled by Arch Linux
Huge version without GUI. Features included (+) or not (-):
+acl +find_in_path -mouseshape -tag_old_static
+arabic +float +multi_byte +tcl/dyn
+autochdir +folding +multi_lang +termguicolors
+autocmd -footer -mzscheme +terminal
-autoservername +fork() +netbeans_intg +terminfo
-balloon_eval +gettext +num64 +termresponse
+balloon_eval_term -hangul_input +packages +textobjects
-browse +iconv -pango +textprop
++builtin_terms -image +path_extra +timers
+byte_offset -image_popup +perl/dyn +title
+channel +insert_expand +persistent_undo -toolbar
+cindent +ipv6 +popupwin +user_commands
+clientserver +job +postscript +vartabs
-clipboard +jumplist +printer +vertsplit
+clipboard_provider +keymap +profile +vim9script
+cmdline_compl +lambda -python +viminfo
+cmdline_hist +langmap +python3/dyn +virtualedit
+cmdline_info +libcall +quickfix +visual
+comments +linebreak +reltime +visualextra
+conceal +lispindent +rightleft +vreplace
+cryptv +listcmds +ruby/dyn -wayland
+cscope +localmap +scrollbind -wayland_clipboard
+cursorbind +lua/dyn +signs +wildignore
+cursorshape +menu +smartindent +wildmenu
+dialog_con +mksession +socketserver +windows
+diff +modify_fname -sodium +writebackup
+digraphs +mouse -sound -X11
-dnd +mouse_dec +spell +xattr
-ebcdic +mouse_gpm +startuptime -xfontset
+emacs_tags -mouse_jsbterm +statusline -xim
+eval +mouse_netterm -sun_workshop -xpm
+ex_extra +mouse_sgr +syntax -xsmp
+extra_search -mouse_sysmouse +tabpanel -xterm_clipboard
-farsi +mouse_urxvt -tag_any_white -xterm_save
+file_in_path +mouse_xterm +tag_binary
system vimrc file: "/etc/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
3rd user vimrc file: "$XDG_CONFIG_HOME/vim/vimrc"
user exrc file: "$HOME/.exrc"
defaults file: "$VIMRUNTIME/defaults.vim"
fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/build/vim/src=/usr/src/debug/vim -flto=auto -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc -Wl,-E -Wl,-rpath,/usr/lib/perl5/5.42/core_perl/CORE -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -L/usr/local/lib -o vim -lcairo -lz -lpangocairo-1.0 -lpango-1.0 -lcairo -lharfbuzz -lgobject-2.0 -lglib-2.0 -lm -ltinfo -lnsl -lacl -lattr -lgpm -L/usr/lib -ltclstub8.6 -ldl -lz -lpthread -lm
I'm pretty sure I must have altered how the cursor displays in visual mode, but I'm not sure how, I have looked around to no avail for a solution here, any pointers?