Skip to content
View bobrippling's full-sized avatar

Organizations

@ScottLogic

Block or report bobrippling

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
bobrippling/readme.md

Interested in compilers and languages. Very low volume blog and twitter.

⌨️ Programming Languages

  • ucc: my own C compiler, to learn type systems, code-gen, parsing, etc.
  • cg: partially complete intermediate language, as a new backend for ucc
  • podsync: podcast syncing server, written in Rust

🛠️ Other Projects

  • tim: my vim clone
  • uvi: older vim clone
  • utop: process monitor

🚧 Pull requests

📚 Cool Blogs

📽️ Favourite Projects

🔮 Latest Vim Tricks

Command Description
:g/^\s*$/;//-1sort Sort each block of lines in a file
:*cmd Use last visual range as range for 'cmd'
:e `=...` Evaluate expr in backticks as vim expression
&/:& Repeat :s (w/original pattern, not search)
:&& Repeat last :s, with its flags
g& Repeat :s (w/flags), with % as the range
:~ Repeat last :s, with-current-search
gI Start insert in the first column (i.e. 0, not ^)
c_<C-R>_<C-[APL]> Command line, insert current WORD / path / line
"1pu., u., ... Cycle through deletions (see :h redo-register)
i_Ctrl-F Reindent current line, from insert mode ('cindent')
:Lex/:Rex Explore %:h
ze/zs Horizontal equivalents to zt/zb
zv/zx Visible cursor / reapply 'foldlevel', then zv
'^ Location of last insertion stop
/...<C-G> Next 'incsearch' match (C-T for previous)
:s/.../\L\u/ \u - capitalise first letter, \L lowercase rest
/\_^/, /\_$/ Match /^/, even if ^ isn't at pattern/group start

Netrw

Command Description
i Toggle view mode - tree etc
- cd ..
qf stat current file
p open in preview window
gh toggle dotfiles
a toggle hide list: show, hide, only
d mkdir
% new file
D unlink/rmdir
R rename
mf mark file
mu unmark all
qF mark files in qf
mA mark arguments
ma marked files --> args
ma --> args
cb --> buffer list
cB buffer list --> marked files
mx execute cmd % per marked file (in local list)
mX execute cmd % for all (in global list)
mt mark target (I to toggle banner and view it)
mm / mc move / copy files to target

Git

Command Description
log -L :funcname Show a log of changes just to funcname (regex)
blame -C[CC] -w -w: skip whitespace commits, -C track across commits
clone --filter=blob:none clone and then fetch only the blobs needed for checkout
scalar separate command for managing large git repos

More in the archive

🔌 Vim Plugins

  • vim-bg: Run grep, make, etc in the background, lazily populating the quickfix or location list
  • javascript.vim: A quick-and-simple goto-tag implementation, for javascript modules
  • dotcomplete.vim: Complete after a ., based on what's already in the current buffer
  • qf-filter.vim: Add :QFDrop and :QFKeep to filter the quickfix list
  • tabname.vim: Add terminal, modified and filename details to tabs, or the contents of t:title
  • oldbuf.vim: Add :Oldedit with completion based on vim's oldfiles
  • autosave.vim: On g:autosave_enabled, save all modified buffers on CursorHold/FocusLost
  • bufedit.vim: ctrlp.vim-like command line preview for navigating opened buffers
  • cmdalias.vim: Create command-line aliases, like :vsb --> :vs|b, etc

Pinned Loading

  1. ucc-c-compiler ucc-c-compiler Public

    A C-implemented C compiler

    C 88 13

  2. tim tim Public

    another editor

    C 6

  3. utop utop Public

    process monitor

    C 8 1

  4. neovim neovim Public

    Forked from neovim/neovim

    Vim-fork focused on extensibility and usability

    Vim Script

  5. ps4bot ps4bot Public

    Python 4 2

  6. sxiv sxiv Public

    Forked from xyb3rt/sxiv

    Simple (or small or suckless) X Image Viewer

    C 3