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.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to 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

CommandDescription
:g/^\s*$/;//-1sortSort each block of lines in a file
:*cmdUse last visual range as range for 'cmd'
:e `=...` Evaluate expr in backticks as vim expression
gIStart 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-FReindent current line, from insert mode ('cindent')
:Lex/:RexExplore %:h
ze/zsHorizontal equivalents to zt/zb
zv/zxVisible 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
g==Run the current code block (in a help buffer)
:w ++p [...]Write, creating parent directories
:h newsShow release news

neovim

:echo v:servername # this is $server
:detach
$ nvim --server $server --remote-ui

Substitute

CommandDescription
:s [g] / :& [g] / &:s//~/ (orig pattern, flags not kept)
&/:&:s
g&:%s//~/& (orig pattern, flags kept)
:~:s;@/;~; (search pattern, flags not kept)
:s/.../.../&Keep flags

Netrw

CommandDescription
iToggle view mode - tree etc
-cd ..
qfstat current file
popen in preview window
ghtoggle dotfiles
atoggle hide list: show, hide, only
dmkdir
%new file
Dunlink/rmdir
Rrename
mfmark file
muunmark all
qFmark files in qf
mAmark arguments
mamarked files --> args
ma--> args
cb--> buffer list
cBbuffer list --> marked files
mxexecute cmd % per marked file (in local list)
mXexecute cmd % for all (in global list)
mtmark target (I to toggle banner and view it)
mm / mcmove / copy files to target

Git

CommandDescription
log -L :funcnameShow a log of changes just to funcname (regex)
blame -C[CC] -w-w: skip whitespace commits, -C track across commits
clone --filter=blob:noneclone and then fetch only the blobs needed for checkout
scalarseparate command for managing large git repos
--fixup amend/reword:$ciamend: commit index & change $ci's msg (reword: no-index)

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-compilerucc-c-compilerPublic

    A C-implemented C compiler

    C 92 11

  2. timtimPublic

    another editor

    C 7

  3. utoputopPublic

    process monitor

    C 8 1

  4. neovimneovimPublic

    Forked from neovim/neovim

    Vim-fork focused on extensibility and usability

    Vim Script

  5. ps4botps4botPublic

    Python 4 2

  6. sxivsxivPublic

    Forked from xyb3rt/sxiv

    Simple (or small or suckless) X Image Viewer

    C 4