aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConnor Moore <connor@hhmoore.ca>2026-02-23 05:27:17 -0500
committerConnor Moore <connor@hhmoore.ca>2026-02-23 05:27:17 -0500
commitef04177869cecdb19490ae9040f30a3aad2c0cd7 (patch)
tree208fc0b207c330b557cf1866e0a62d6c62325507
parentebde59e5193749df3fa68411c6450b75a5d5156a (diff)
Added tab autocompletion
-rw-r--r--.vimrc33
1 files changed, 26 insertions, 7 deletions
diff --git a/.vimrc b/.vimrc
index 5602470..4325d7f 100644
--- a/.vimrc
+++ b/.vimrc
@@ -1,14 +1,14 @@
-" plugins
+" Plugins
call plug#begin('~/.vim/plugged')
Plug 'lervag/vimtex'
Plug 'NewComer00/octavetui.vim', {'branch': 'main'}
Plug 'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() }, 'for': ['markdown', 'vim-plug'] }
call plug#end()
-" speed up making new reports
+" Speed up making new reports
autocmd BufNewFile report.tex 0r ~/.vim/templates/skeleton.tex
-" octave IDE
+" Octave IDE
let g:octavetui_octave_executable = '/usr/bin/octave'
let g:octavetui_user_keymaps = {
\ 'OctaveTUISetBreakpoint': '',
@@ -27,7 +27,7 @@ let g:octavetui_user_keymaps = {
\ }
-" hotkey for viewing pdf for vimtex
+" Hotkey for viewing pdf for vimtex
function! SyncZathura()
" Get the window ID of the CURRENT terminal (where Vim is running)
let l:term_id = system('xdotool getactivewindow')
@@ -44,7 +44,26 @@ let g:vimtex_view_method = 'zathura'
let g:vimtex_view_automatic = 1
let g:vimtex_compiler_method = 'latexmk'
-" basic settings
+" Tab autocomplete (but only when wanted)
+function! SmartTab()
+ let col = col('.') - 1
+ if !col || getline('.')[col - 1] !~ '\k'
+ return "\<Tab>"
+ else
+ return "\<C-n>"
+ endif
+endfunction
+
+" Map it to easily go forward and backwards
+inoremap <Tab> <C-r>=SmartTab()<CR>
+inoremap <S-Tab> <C-p>
+
+" Make it nice like bash
+set completeopt=menu,menuone,noselect
+set wildmode=list:longest
+
+
+" Basic settings
filetype plugin indent on
syntax enable
set number
@@ -54,7 +73,7 @@ set smarttab
set expandtab
set autoindent
-" compile/run hotkeys (when not using make)
+" Compile/run hotkeys (when not using make)
autocmd FileType python map <buffer> <F9> :w<CR>:exec '!clear && python3' shellescape(@%, 1)<CR>
autocmd FileType python imap <buffer> <F9> <esc>:w<CR>:exec '!clear && python3' shellescape(@%, 1)<CR>
@@ -73,6 +92,6 @@ autocmd FileType gnuplot imap <buffer> <F9> <esc>:w<CR> :!gnuplot % -e "pause mo
autocmd FileType sh map <buffer> <F9> :w<CR> :!clear && ./% <CR>
autocmd FileType sh imap <buffer> <F9> <esc>:w<CR> :!clear && ./% <CR>
-" big day for ZZ ZQ fans
+" Big day for ZZ ZQ fans!
map q: <Nop>
nnoremap Q <nop>