<meta charset="utf-8" emacsmode="-*- markdown -*-"><link rel="stylesheet" href="https://casual-effects.com/markdeep/latest/slate.css?">
**Peculiar Computer Club Wiki**
This is the official wiki of the PCC (Peculiar Computer Club)
Collection of programming language resources.
C is wonderful low-level programming language. The language itself is famous for being powerful as it's wielder. Everyone should learn some C, because it helps in the eternal goal of becoming a computer wizard.
- C Primer
- Modern C for C++ peeps
- Interesting small and sometimes handy C tutorials
- Learn C in Y minutes
- Build your own LISP using C
- Awesome C guide for modern age
- The Awesome C Resources List
- Notes on working with C and WASM
- International Obfuscated C Code Contest
- Handmade Hero
- The C Programming Language by Brian Kernighan and Dennis Ritchie
- Modern C by Jens Gustedt
- Expert C Programming by Peter Van Der Linden
- 21st Century C by Ben Klemens
#TODO
#TODO
#TODO
#TODO
#TODO
#TODO
#TODO
#TODO
#TODO
#TODO
#TODO
#TODO
#TODO
#TODO
#TODO
Interesting talks and videos to watch
Papers and blogposts on different topics
#TODO
Usefull software and hardware tools
The meeting point of PCC's cult of vi.
- Use Vim Like a Pro by Tim Ottiger is a great book covering many important features of [neo]vim and explains its philosophy well. Learning the concepts described here will keep you busy for many weeks and will spark your curiosity about the editor even more.
- Learn Vimscript the Hard Way by Steve Losh. A lot of this editors power comes from its extensibility. Tweaking its behaviour to support your workflow will not only make you more effective. It will make you reconsider your view on process automation itself.
No rocket science, but life changing stuff nevertheless.
If you want to copy to/paste from clipboard in neovim, the trick is to use +
and *
registers (:help registers
to learn more). It is handy to define your own commands for this as in the following example. These make hitting <leader>y
or <leader>p
in visual and normal mode work as usual yank or paste, only on the specified registers. Since the yank
sentence is not finished, this retains all the flexibility of the raw commands, allowing you to for example copy the whole word under cursor to clipboard by hitting <leader>yiw
.
The meaning of +
and *
registers differs based on your OS. See this SO answer to learn more.
Useful help command: :help clipboard
Example init.vim
nnoremap <leader>y "+y
nnoremap <leader>p "+p
vnoremap <leader>y "+y
vnoremap <leader>p "+p
Open a vertical split with your init.vim
/.vimrc
with the first command, make changes, save, then use the second command to source the changes.
nnoremap <leader>ei :vsplit $MYVIMRC<cr> # ei means edit init.vim
nnoremap <leader>si :so $MYVIMRC<cr> # si means source init.vim
One major annoyance when using neovim inside tmux is a small default delay tmux has when you hit escape. This means, that when you want to exit insert mode, you have to wait before being able to type other neovim commands. Here is a setting to turn this off [1]. It might, or might not cause you problems. Consult tmux manpages (search for escape-time
) or see this answer for more information.
Another helpful trick is to use vim navigation keys, which is the second line of the config [2]. It is not only that you do not have to switch from hjkl to arrow keys based on where you are. You can also use Shift + v in tmux's copy mode to select whole lines, just as in neovims visual mode.
Example ~/.tmux.conf
set -s escape-time 0 # [1] avoid the delay when hitting escape
set -g mode-keys vi # [2] use your favorite navigation keys in copy mode
Nice books to put on the readinglist
#TODO
Everything hardware related.
#TODO
<style class="fallback">body{visibility:hidden}</style><script>markdeepOptions={tocStyle:'long'};</script> <script src="https://casual-effects.com/markdeep/latest/markdeep.min.js?" charset="utf-8"></script>