Compare commits

...

10 Commits

Author SHA1 Message Date
3ff0adcbf3 libsecret credentials 2025-11-14 19:24:58 +01:00
c6705a2229 ssh vim and tmux 2025-11-14 13:39:26 +01:00
41e9336603 sshconfig 2025-03-05 11:27:17 +01:00
93473be663 Vundle -> Plug 2024-03-31 15:42:40 +02:00
912afb5576 ssh config 2024-01-26 08:29:27 +01:00
913de0fa24 slurm alias 2024-01-24 10:25:00 +01:00
1d1cabbd38 Slurm aliases 2024-01-19 09:31:58 +01:00
75b08a39f6 Read npy files 2024-01-18 16:40:44 +01:00
af4e2d4364 pylab 2023-12-21 08:06:55 +01:00
5b12de7672 vimrc: YCM only if python3 enabled 2023-12-20 12:47:22 +01:00
8 changed files with 87 additions and 83 deletions

View File

@@ -43,7 +43,7 @@ source_existing ~/.bash_prompt.kuba
source_existing ~/.python-venv.kuba/bin/activate source_existing ~/.python-venv.kuba/bin/activate
if command -v ipython &> /dev/null; then if command -v ipython &> /dev/null; then
alias p=ipython alias p="ipython --pylab"
elif command -v python &> /dev/null; then elif command -v python &> /dev/null; then
alias p=python alias p=python
fi fi

View File

@@ -7,7 +7,7 @@
process = git-lfs filter-process process = git-lfs filter-process
required = true required = true
[credential] [credential]
helper = cache --timeout=3600 helper = libsecret
[color] [color]
ui = auto ui = auto
[pull] [pull]

View File

@@ -11,12 +11,18 @@ except ImportError:
class Wrap: class Wrap:
def __init__(self, fname): def __init__(self, fname):
n = np.load(fname, allow_pickle=True) n = np.load(fname, allow_pickle=True)
files = n.files
globs = globals() globs = globals()
if isinstance(n, np.lib.npyio.NpzFile):
files = n.files
print('Contains files', files) print('Contains files', files)
for f in files: for f in files:
setattr(self, f, n[f]) setattr(self, f, n[f])
globs[f] = n[f] globs[f] = n[f]
else:
print('Loaded data of shape', n.shape)
setattr(self, 'data', n)
globs['data'] = n
argv = argv[argv.index('--')+1:] argv = argv[argv.index('--')+1:]
archives = [Wrap(arg) for arg in argv] archives = [Wrap(arg) for arg in argv]
@@ -108,3 +114,18 @@ pdftoclipboard() {
pdftoppm -png -r "$dpi" "$file" | xclip -sel clip -t image/png -i pdftoppm -png -r "$dpi" "$file" | xclip -sel clip -t image/png -i
} }
gitgrepsed() {
if [ $# -lt 2 ]; then
echo "Usage gitgrepsed SEARCH REPLACE
Search and replace in git repository.
Alias for git grep -l \$SEARCH | xargs sed -i "s/\$SEARCH/\$REPLACE/g"
"
return
fi
search="$1"
replace="$2"
git grep -l "$search" | xargs sed -i "s/$search/$replace/g"
}

View File

@@ -3,9 +3,11 @@ Defines useful SLURM aliases
]==]) ]==])
set_alias("si", 'sinfo -e -o "%9P %4a %8s %.10l %11A %6z %.7m %40N"') set_alias("si", 'sinfo -e -o "%9P %4a %8s %.10l %11A %6z %.7m %40N"')
set_alias("q", 'squeue -u $USER -o "%7A %56j %2t %16S %.10M %.10L %.2D %4N"') set_alias("q", 'squeue -u $USER -o "%8A %56j %2t %16S %.10M %.10L %.2D %4N"')
set_alias("ql", 'squeue -u $USER -o "%8A %7K %56j %2t %3r %16S %.10M %.10L %.4D %8N %4f"') set_alias("ql", 'squeue -u $USER -o "%8A %7K %56j %2t %3r %16S %.10M %.10L %.4D %8N %4f"')
set_alias("qll", 'squeue -u $USER -o "%8A %7K %150j %2t %3r %16S %.10M %.10L %.4D %8N %4f"')
set_alias("qa", 'squeue -o "%8A %10u %.6Q %24j %2t %3r %16S %.10M %.10L %.4D %16N" -S t,-p | less') set_alias("qa", 'squeue -o "%8A %10u %.6Q %24j %2t %3r %16S %.10M %.10L %.4D %16N" -S t,-p | less')
set_alias("qq", 'squeue -u $USER -o "%8A %7K %76j %9F %2t %.10L"')
set_alias("qid", 'squeue -h -u $USER -o "%A"') set_alias("qid", 'squeue -h -u $USER -o "%A"')
set_alias("scancelall", 'squeue -h -u $USER -o "%A" | xargs scancel') set_alias("scancelall", 'squeue -h -u $USER -o "%A" | xargs scancel')

View File

@@ -7,5 +7,6 @@ local loadscript = pathJoin(path, '.' .. myModuleName() .. '.sh');
execute{cmd='source ' .. loadscript, modeA={"load"}} execute{cmd='source ' .. loadscript, modeA={"load"}}
execute{cmd='unset -f npz_preview npz_previewi ' .. execute{cmd='unset -f npz_preview npz_previewi ' ..
'rsync_wrap rsync_wrap_huge selc selv cliipc clipv watch_modify pdftoclipboard' .. 'rsync_wrap rsync_wrap_huge selc selv cliipc clipv watch_modify pdftoclipboard gitgrepsed' ..
'rsync_wrap rsync_wrap_huge selc selv cliipc clipv watch_modify' ..
';', modeA={"unload"}} ';', modeA={"unload"}}

View File

@@ -15,8 +15,8 @@ Host aino
User jakub User jakub
Port 22209 Port 22209
Host tahoe Host puffinus
HostName tahoe.fy.chalmers.se HostName puffinus.fy.chalmers.se
User jakub User jakub
Port 22209 Port 22209
@@ -48,11 +48,7 @@ Host vera2
User fojt User fojt
Host tetralith Host tetralith
Hostname tetralith1.nsc.liu.se Hostname tetralith.nsc.liu.se
User x_jakfo
Host tetralith2
Hostname tetralith2.nsc.liu.se
User x_jakfo User x_jakfo
Host remote11 Host remote11
@@ -66,34 +62,7 @@ Host remote11
Host dardel Host dardel
Hostname dardel.pdc.kth.se Hostname dardel.pdc.kth.se
User fojt User fojt
GSSAPIAuthentication yes IdentityFile ~/.ssh/id-ed25519-pdc
GSSAPIKeyExchange yes
GSSAPIDelegateCredentials yes
PreferredAuthentications gssapi-keyex,gssapi-with-mic
Host beskow
Hostname beskow.pdc.kth.se
User fojt
GSSAPIAuthentication yes
GSSAPIKeyExchange yes
GSSAPIDelegateCredentials yes
PreferredAuthentications gssapi-keyex,gssapi-with-mic
Host pdctransfer
Hostname t04n27.pdc.kth.se
User fojt
GSSAPIAuthentication yes
GSSAPIKeyExchange yes
GSSAPIDelegateCredentials yes
PreferredAuthentications gssapi-keyex,gssapi-with-mic
Host tegner
Hostname tegner.pdc.kth.se
User fojt
GSSAPIAuthentication yes
GSSAPIKeyExchange yes
GSSAPIDelegateCredentials yes
PreferredAuthentications gssapi-keyex,gssapi-with-mic
Host * Host *
ForwardAgent no ForwardAgent no

View File

@@ -11,9 +11,14 @@ set -g default-terminal "screen-256color"
bind-key j command-prompt -p "join pane from:" "join-pane -s '%%'" bind-key j command-prompt -p "join pane from:" "join-pane -s '%%'"
bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'" bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'"
# ssh socket, important to create symlink in ~/.ssh/rc # Update the session environment upon attaching
set -g update-environment -r set-option -g update-environment 'SSH_AUTH_SOCK SSH_CONNECTION DISPLAY'
set-environment -g 'SSH_AUTH_SOCK' ~/.ssh/ssh_auth_sock set-hook -g client-attached 'run-shell /bin/update_display.sh'
# Rename the session to the path
set-option -g status-interval 5
set-option -g automatic-rename on
set-option -g automatic-rename-format '#{pane_current_path}'
# Shorten delay for relaying Esc (to e.g. vim). Too short and PgUp will not work # Shorten delay for relaying Esc (to e.g. vim). Too short and PgUp will not work
set -sg escape-time 20 set -sg escape-time 20

78
.vimrc
View File

@@ -2,46 +2,44 @@ let mapleader = ","
set nocompatible " be iMproved, required set nocompatible " be iMproved, required
filetype off " required filetype off " required
let vundle_dir="~/.vim/bundle/Vundle.vim" let plug_fpath="~/.vim/autoload/plug.vim"
if filereadable(expand(vundle_dir) . "/README.md") if filereadable(expand(plug_fpath))
" set the runtime path to include Vundle and initialize call plug#begin()
let &rtp .= "," . vundle_dir
call vundle#begin()
Plugin 'VundleVim/Vundle.vim' " let Vundle manage Vundle, required Plug 'scrooloose/nerdtree'
Plug 'vim-scripts/c.vim'
Plugin 'scrooloose/nerdtree' Plug 'jeetsukumaran/vim-buffergator'
Plugin 'c.vim' Plug 'ericcurtin/CurtineIncSw.vim'
Plugin 'jeetsukumaran/vim-buffergator' Plug 'tpope/vim-fugitive'
Plugin 'ericcurtin/CurtineIncSw.vim' Plug 'tpope/vim-surround'
Plugin 'tpope/vim-fugitive' Plug 'ctrlpvim/ctrlp.vim'
Plugin 'tpope/vim-surround' Plug 'rhysd/vim-clang-format'
Plugin 'ctrlpvim/ctrlp.vim' Plug 'godlygeek/tabular'
Plugin 'rhysd/vim-clang-format' Plug 'airblade/vim-gitgutter'
Plugin 'godlygeek/tabular' Plug 'jeetsukumaran/vim-pythonsense'
Plugin 'airblade/vim-gitgutter' Plug 'easymotion/vim-easymotion'
Plugin 'jeetsukumaran/vim-pythonsense' Plug 'cpiger/NeoDebug'
Plugin 'easymotion/vim-easymotion' Plug 'ivan-krukov/vim-snakemake'
Plugin 'cpiger/NeoDebug' Plug 'nvie/vim-flake8'
Plugin 'ivan-krukov/vim-snakemake' Plug 'ludovicchabant/vim-gutentags'
Plugin 'nvie/vim-flake8' Plug 'junegunn/vim-peekaboo'
Plugin 'ludovicchabant/vim-gutentags'
Plugin 'junegunn/vim-peekaboo'
if has('python3') && empty($VIM_DISABLE_YCM) if has('python3') && empty($VIM_DISABLE_YCM)
Plugin 'ycm-core/YouCompleteMe' Plug 'ycm-core/YouCompleteMe', { 'do': './install.py' }
endif endif
Plugin 'dense-analysis/ale' Plug 'dense-analysis/ale'
Plugin 'tpope/vim-unimpaired' Plug 'tpope/vim-unimpaired'
Plugin 'JuliaEditorSupport/julia-vim' Plug 'JuliaEditorSupport/julia-vim'
Plugin 'tell-k/vim-autopep8' Plug 'tell-k/vim-autopep8'
Plugin 'jpalardy/vim-slime' Plug 'tell-k/vim-autoflake'
Plugin 'preservim/tagbar' Plug 'jpalardy/vim-slime'
Plug 'preservim/tagbar'
Plug 'wellle/context.vim'
call vundle#end() " required call plug#end()
else else
let vundle_repo="https://github.com/VundleVim/Vundle.vim.git" let plug_url="https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"
echo "Vundle not installed, type :CloneVundle to clone the vundle repo and install it" echo "Plug not installed, type :CurlPlug to download and install plug"
command! CloneVundle execute "!git clone " . vundle_repo . " " . vundle_dir | source $MYVIMRC | echo "Cloned Vundle. Do :PluginInstall" command! CurlPlug execute "!curl -fLo " . plug_fpath . " --create-dirs " . plug_url | source $MYVIMRC | echo "Curled Plug. Do :PlugInstall"
endif endif
set tabstop=4 " show existing tab with 4 spaces width set tabstop=4 " show existing tab with 4 spaces width
@@ -343,12 +341,16 @@ nmap <F2> :NERDTreeToggle<CR>
nmap <F3> :NERDTreeFind<CR> nmap <F3> :NERDTreeFind<CR>
map <F5> :call CurtineIncSw()<CR> map <F5> :call CurtineIncSw()<CR>
let g:context_enabled = 0
map <F6> :ContextToggle<CR>
map cp :ContextPeek<CR>
" Julialang " Julialang
let g:latex_to_unicode_auto = 1 let g:latex_to_unicode_auto = 1
noremap <expr> <F7> LaTeXtoUnicode#Toggle() noremap <expr> <F7> LaTeXtoUnicode#Toggle()
noremap! <expr> <F7> LaTeXtoUnicode#Toggle() noremap! <expr> <F7> LaTeXtoUnicode#Toggle()
autocmd FileType python noremap <buffer> <F8> :call Autopep8()<CR> autocmd FileType python noremap <buffer> :call Autoflake()<CR> :call Autopep8()<CR>
let g:slime_target = "tmux" let g:slime_target = "tmux"
let g:slime_default_config = {"socket_name": "default", "target_pane": "{last}"} let g:slime_default_config = {"socket_name": "default", "target_pane": "{last}"}
@@ -395,3 +397,7 @@ nmap <Leader>p :set paste! <CR>
map <Leader>n :noh<CR> map <Leader>n :noh<CR>
vmap <Leader>T :'<,'> Tabularize / vmap <Leader>T :'<,'> Tabularize /
nnoremap <leader>c :execute "set colorcolumn=" . (&colorcolumn == "" ? "120" : "")<CR> nnoremap <leader>c :execute "set colorcolumn=" . (&colorcolumn == "" ? "120" : "")<CR>
" Insert "Embed IPython" command
:command InsIPython :normal oimport IPython<CR>IPython.embed()<ESC><up>^
nmap <Leader>i :InsIPython <CR>