svn add all files except ignored files, svn del all missing files at once

To schedule all files and directories in your working copy for addition to the repository recursively, you can do it like below.

$ svn add * --force

Because svn add * can't add files which are not under version control yet in directories which are under version control, --force is needed. But in this case ignored files and directories in current directory are also added.
It also attempts to add files under version control, so many warnings show. It's ugly.

At last I found out there is no good way as long as I am using svn only.

To add all files except ignored files and delete all missing files at once, you can create an alias which filters output of svn status using grep and replaces it using sed like below.

~/.bashrc

alias svndel="svn st | grep '^!' | sed -e 's/\![ ]*/svn del /g' | sh"
alias svnadd="svn st | grep '^?' | sed -e 's/\?[ ]*/svn add /g' | sh"

It's very convenient!

Source: svn に登録されていないファイルをまとめて svn add:Goodpic
svn addがめんどくさいので | firegoby

How to input control characters

Emacs

C-q <Control Character>

Example: Input escape character

C-q C-[

Shell, Vim

Ctrl+V <Control Character>

Example: Input escape character

Ctrl+V Ctrl+[

How to find a letter which should be pressed in combination with Control key?

<Control Character> in above explanation should be input in combination with Control key. The letter which should be input with Control key is a letter which is produced by setting 7th bit of the letter you want to input to 1, that is to say, by adding 0x40(64).
You can find it in `man ascii` etc.

Example:
Escape character is 0x1B(27).
Set 7th bit to 1, i.e. add 0x40(64) and you get 0x5B(91).
0x5B(91) is '['.
Therefore, to input escape character press Ctrl+[.

Line feed is 0x0A(10).
Set 7th bit to 1, i.e. add 0x40(64) and you get 0x4A(74).
0x4A(74) is 'J'.
Therefore, to input line feed press Ctrl+J.

Source: https://en.wikipedia.org/wiki/Control_character#How_control_characters_map_to_keyboards
エスケープ文字の入力方法 - nelnalog.note