271 lines
7.7 KiB
HTML
271 lines
7.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta name="description" content="">
|
|
<meta name="author" content="">
|
|
<link rel="shortcut icon" href="../../../../../../assets/img/favicon.png">
|
|
|
|
<title>custom vimrc</title>
|
|
|
|
<!-- Bootstrap core CSS -->
|
|
<link href="../../assets/css/bootstrap.css" rel="stylesheet">
|
|
<link href="../../assets/css/xt256.css" rel="stylesheet">
|
|
|
|
|
|
|
|
<!-- Custom styles for this template -->
|
|
<link href="../../assets/css/main.css" rel="stylesheet">
|
|
|
|
|
|
|
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
|
<!--[if lt IE 9]>
|
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
|
<![endif]-->
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<!-- Static navbar -->
|
|
<div class="navbar navbar-inverse-cis navbar-static-top">
|
|
<div class="container">
|
|
<div class="navbar-header">
|
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</button>
|
|
<a class="navbar-brand-cis" href="\index.html">nihilist`s Blog</a>
|
|
</div>
|
|
<div class="navbar-collapse collapse">
|
|
<ul class="nav navbar-nav navbar-right">
|
|
|
|
<li><a href="/about.html">About</a></li>
|
|
<li><a href="/blog.html">Categories</a></li>
|
|
<li><a href="https://blog.nihilism.network/donate.html">Donate</a></li>
|
|
<li><a href="/contact.html">Contact</a></li>
|
|
</ul>
|
|
</div><!--/.nav-collapse -->
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<!-- +++++ Posts Lists +++++ -->
|
|
<!-- +++++ First Post +++++ -->
|
|
<div id="cis2">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-lg-8 col-lg-offset-2">
|
|
<a href="../index.html">Previous Page</a></br></br><p><img src="../../assets/img/user.png" width="50px" height="50px"> <ba>nihilist - 00 / 00 / 00</ba></p>
|
|
<h1>custom vimrc </h1>
|
|
<p> Before we start, you will need a Debian 10+ VPS (you can get one on digitalocean for example), if you prefer to use your own self hosted server, make sure that port 80 and 443 are correctly port forwarded so that the public ip points to the server and not the router. Once that's done, go and ssh into your debian 10 server. </p>
|
|
<p>You can use DuckDNS to get a free domain name:</p>
|
|
<img src="0.png" class="imgRz">
|
|
<pre><code class="nim">
|
|
[ 192.168.100.1/24 ] [ /dev/pts/13 ] [~/Nextcloud/blog/Conf]
|
|
→ ssh root@ech4.duckdns.org
|
|
The authenticity of host 'ech4.duckdns.org (178.128.46.38)' can't be established.
|
|
ECDSA key fingerprint is SHA256:z2HAncB99pfbAUfj9tJY7vlo8EGUzCIUxWBAnjAflcA.
|
|
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
|
|
Warning: Permanently added 'ech4.duckdns.org,178.128.46.38' (ECDSA) to the list of known hosts.
|
|
Linux debian-s-1vcpu-1gb-lon1-01 4.19.0-10-cloud-amd64 #1 SMP Debian 4.19.132-1 (2020-07-24) x86_64
|
|
|
|
The programs included with the Debian GNU/Linux system are free software;
|
|
the exact distribution terms for each program are described in the
|
|
individual files in /usr/share/doc/*/copyright.
|
|
|
|
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
|
|
permitted by applicable law.
|
|
root@debian-s-1vcpu-1gb-lon1-01:~#
|
|
|
|
</code></pre>
|
|
|
|
</div>
|
|
</div><!-- /row -->
|
|
</div> <!-- /container -->
|
|
</div><!-- /grey -->
|
|
|
|
<!-- +++++ Second Post +++++ -->
|
|
<div id="cis3">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-lg-8 col-lg-offset-2">
|
|
<h2><b>1 </b></h2>
|
|
<p></p>
|
|
|
|
<pre><code class="nim">
|
|
rm -rf ~/.vim
|
|
rm ~/.vimrc
|
|
vim ~/.vimrc
|
|
|
|
</code></pre>
|
|
|
|
<p>Here are some safe default options:</p>
|
|
<pre><code class="nim">
|
|
syntax on
|
|
|
|
set noerrorbells
|
|
set tabstop=4 softtabstop=4
|
|
set shiftwidth=4
|
|
set expandtab
|
|
set smartindent
|
|
set nu
|
|
set nowrap
|
|
set smartcase
|
|
set noswapfile
|
|
set nobackup
|
|
set undodir=~/.vim/undodir
|
|
set undofile
|
|
set incsearch
|
|
|
|
set colorcolumn=80
|
|
highlight ColorColumn ctermbg=0 guibg=lightgrey
|
|
|
|
</code></pre>
|
|
<p>Then: you can type <b>/set</b> and it will find the set word!! so /word!</p>
|
|
<p>To refresh the config:</p>
|
|
<pre><code class="nim">
|
|
:source %
|
|
|
|
</code></pre>
|
|
<pre><code class="nim">
|
|
mkdir ~/.vim/undodir -p
|
|
mkdir ~/
|
|
|
|
</code></pre>
|
|
<p>PLUGINS (https://github.com/Junegunn/vim-plug) :</p>
|
|
<pre><code class="nim">
|
|
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
|
|
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
|
|
|
</code></pre>
|
|
<p>Then add the following line to vimrc:</p>
|
|
<pre><code class="nim">
|
|
call plug#begin('~/.vim/plugged')
|
|
|
|
Plug 'morhetz/gruvbox'
|
|
Plug 'terryma/vim-multiple-cursors'
|
|
Plug 'jremmen/vim-ripgrep'
|
|
Plug 'tpope/vim-fugitive'
|
|
Plug 'leafgarland/typescript-vim'
|
|
Plug 'vim-utils/vim-man'
|
|
Plug 'lyuts/vim-rtags'
|
|
Plug 'neoclide/coc.nvim', {'branch':'release'}
|
|
Plug 'mbbill/undotree'
|
|
|
|
call plug#end()
|
|
|
|
</code></pre>
|
|
<p>To refresh the config:</p>
|
|
<pre><code class="nim">
|
|
:source %
|
|
:PlugInstall
|
|
|
|
</code></pre>
|
|
<img src="1.png" class="imgRz">
|
|
<p>type :q to exit the extra vim pan once it finished, and add the following to your vimrc:</p>
|
|
<pre><code class="nim">
|
|
|
|
colorscheme gruvbox
|
|
set background=dark
|
|
|
|
if executable ('rg')
|
|
let g:rg_derive_root='true'
|
|
endif
|
|
|
|
let g:ctrlp_user_command = ['.git/','git --git-dir=%s/.git ls-files -oc --exclude-standard']
|
|
let g:netrw_browse_split=2
|
|
let g:netrw_banner=0
|
|
let g:netrw_winsize = 25
|
|
let g:ctrlp_use_caching = 0
|
|
|
|
|
|
|
|
</code></pre>
|
|
<p>To refresh the config:</p>
|
|
<pre><code class="nim">
|
|
:w
|
|
:source %
|
|
</code></pre>
|
|
<p>And there you have it!</p>
|
|
<img src="2.png" class="imgRz">
|
|
<p>Now let's add a few conveniences in our vimrc:</p>
|
|
<pre><code class="nim">
|
|
curl https://blog.nihilism.network/vimrc/shortcuts >> ~/.vimrc
|
|
vim ~/.vimrc
|
|
|
|
</code></pre>
|
|
<p>Now the vim keybinds are:</p>
|
|
<pre><code class="nim">
|
|
MODKEY = spacebar
|
|
|
|
space+pv (opens the filetree with size 30)
|
|
space+ARROW (moves from tab left to right or up/down)
|
|
space+u (shows undotree)
|
|
:q close a vim tab
|
|
space+ps (then type something) and repgrep will find that pattern in your system
|
|
|
|
space++
|
|
space+- (resizes the vertical split vim tabs)
|
|
|
|
i to insert
|
|
ESC to exit insert mode
|
|
|
|
V to enter visual mode (downarrow to select lines downward)
|
|
d to delete
|
|
y to copy
|
|
:s/match/replace/
|
|
ESC to exit Visual Mode
|
|
|
|
MULTIPLE CURSORS:
|
|
CTRL+N
|
|
</code></pre>
|
|
</div>
|
|
</div><!-- /row -->
|
|
</div> <!-- /container -->
|
|
</div><!-- /white -->
|
|
|
|
<!-- +++++ Footer Section +++++ -->
|
|
|
|
<div id="cisb">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<h4>Nihilism</h4>
|
|
<p>
|
|
Until there is Nothing left.
|
|
|
|
</p>
|
|
</div><!-- /col-lg-4 -->
|
|
|
|
<div class="col-lg-4">
|
|
<h4>My Links</h4>
|
|
<p>
|
|
|
|
<a target="_blank" rel="noopener noreferrer" href="http://blog.nihilism.network/rss/feed.xml">RSS Feed</a><br/><a target="_blank" rel="noopener noreferrer" href="https://matrix.to/#/#nihilism:m.datura.network">Matrix Chat</a><br/>
|
|
|
|
</p>
|
|
</div><!-- /col-lg-4 -->
|
|
|
|
<div class="col-lg-4">
|
|
<h4>About nihilist</h4>
|
|
<p style="word-wrap: break-word;"><u>Donate XMR:</u> 8AUYjhQeG3D5aodJDtqG499N5jXXM71gYKD8LgSsFB9BUV1o7muLv3DXHoydRTK4SZaaUBq4EAUqpZHLrX2VZLH71Jrd9k8</p></br><p><u>Contact:</u> nihilist@nihilism.network (<a href="https://nihilism.network/nihilist.pubkey">PGP</a>)</p>
|
|
</div><!-- /col-lg-4 -->
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- Bootstrap core JavaScript
|
|
================================================== -->
|
|
<!-- Placed at the end of the document so the pages load faster -->
|
|
|
|
</body>
|
|
</html>
|