My linux dotfiles and daily used tools, managed with chezmoi. Mainly used on Ubuntu 20.04 Desktop / Server and seldomly used on Ubuntu 20.04 / 22.04 WSL. (The installation scripts for some tools are currently not supported on Ubuntu 18.04.)
i3, polybar, gnome terminal, tmux, zsh and vim
NOTE: These dotfiles and tools are customized according to personal preferences and development needs. Therefore, you are advised to review the code and remove what you don't want or need (especially the scripts in the .chezmoiscripts
folder).
Install the chezmoi
command and dotfiles from this GitHub dotfile repo on a new machine with this command:
# Option 1: installed by curl
$ sh -c "$(curl -fsLS https://chezmoi.io/get)" -- init --apply qq88976321
# Option 2: installed by wget
$ sh -c "$(wget -qO- https://chezmoi.io/get)" -- init --apply qq88976321
# And then fill in prompts or just leave it empty if you don't need it
# The config file, typically ~/.config/chezmoi/chezmoi.toml, is specific to the local machine.
# [GUI] Does this machine need desktop environment and applications (y/n)?
# [Git] Username?
# [Git] Email address?
# [Git] GnuPG signature key?
# [Git] Private git repository?
Please take a look at Meslo Nerd Font patched for Powerlevel10k.
Here are my daily used key bindings, which may not include all the key bindings supported by these tools.
key | description |
---|---|
win (Mod4) |
modifier |
$mod+enter |
open terminal |
$mod+shift +q |
close focused window |
$mod+d |
open rofi |
$mod+h / $mod+Left |
focus left |
$mod+j / $mod+Down |
focus down |
$mod+k / $mod+Up |
focus up |
$mod+l / $mod+Right |
focus right |
$mod+shift +h / $mod+shift +Left |
move focused window left |
$mod+shift +j / $mod+shift +Down |
move focused window down |
$mod+shift +k / $mod+shift +Up |
move focused window up |
$mod+shift +l / $mod+shift +Right |
move focused window right |
$mod+shift +space |
toggle tiling / floating |
$mod+<0 to 9> | switch to workspace <0 to 9> |
$mod+shift +<0 to 9> |
move focused container to workspace <0 to 9> |
$mod+shift +c |
reload the configuration file |
$mod+shift +r |
restart i3 inplace |
$mod+shift +e |
exit i3 |
Scroll Lock |
lock screen using i3lock-fancy |
$mod+r |
enter resize mode |
$mod+mouse right click |
resize window |
First press the prefix key ctrl
+space
, released and then press the key listed below.
key | description |
---|---|
? |
list all key bindings |
` | ` |
- |
split window vertically |
<arrow> |
select pane |
p |
previous window |
n |
next window |
c |
create a new window |
, |
rename current window |
& |
kill current window |
w |
choose a window from a list |
R |
source .tmux.conf |
First press the prefix key ctrl
+space
, released and then press the key listed below.
key | description |
---|---|
ctrl +f |
simple file search |
ctrl +g |
jumping over git status files (best used after git status command) |
alt +h |
jumping over SHA-1/SHA-256 hashes (best used after git log command) |
ctrl +u |
url search (http, ftp and git urls) |
ctrl +d |
number search (mnemonic d, as digit) |
First press the prefix key ctrl
+space
, released and then press the key listed below.
key | description |
---|---|
y |
copies text from the command line to the clipboard |
Y |
copy the current pane's current working directory to the clipboard |
key | description |
---|---|
y |
copy selection to system clipboard |
Y |
copy selection to system clipboard, and paste it to the command line |
key | description |
---|---|
o |
open a highlighted selection with the system default program. open for OS X or xdg-open for Linux |
ctrl -o |
open a highlighted selection with the $EDITOR |
shift -s |
search the highlighted selection directly using google |
First press the prefix key ctrl
+space
, released and then press the key listed below.
key | description |
---|---|
I |
installs new plugins from GitHub or any other git repository and refreshes TMUX environment |
U |
updates plugin(s) |
alt +u |
remove/uninstall plugins not on the plugin list |
key | description |
---|---|
c |
copy commit id to clipboard |
key | description |
---|---|
R |
start git rebase at the commit |
F |
fixup the commit |
C |
cherry-pick this commit |
TODO: still have a lot to learn