Statistics on the number of occurrences of a string in vim and search for the occurrences of a string in vim: the number of occurrences of a string in all rows: % s/string // the number of times that a string appears between lines m and n: m, ns/string // Replace the string in gn vim: in vi/vim, you can use the: s command to replace the string. In the past, we used only one format to replace the full text. Today we found that there are many ways to write this command (vi is really powerful, and there are still a lot to learn). Record several methods here to facilitate future queries.: S/vivian/sky/Replace the first vivian in the current row with sky: s/vivian/sky/g, replace all vivian in the current row with sky: n, $ s/vivian/sky/Replace the first vivian from row n to row n with sky: n, $ s/vivian/sky/g replace all vivian from row n to row n. If n is ., indicates starting from the current row to the last row: % s/vivian/sky/(equivalent to: g/vivian/s/sky/) Replace the first vivian of each row with sky: % s/vivian/sky/g (equivalent to: g/vivian/s // sky/g) can be used as the separator to replace all vivian in each line with sky, in this case, the/in the middle will not be used as the separator: s # vivian/# sky/# Replace the first vivian/in the current line Sky/: % s +/oradata/apras/+/user01/apras1 + (use + to replace/):/oradata/apras/with/user01/apras1/1.: s/vivian/sky/Replace the first vivian of the current row with sky: s/vivian/sky/g, replace all vivian of the current row with sky 2.: n, $ s/vivian/sky/Replace the first vivian from row n to row n as sky: n, $ s/vivian/sky/g replace all vivian from row n to row n with sky (n is a number, if n is ., indicates starting from the current row to the last row) 3.: % s/vivian/sky/(equivalent to: g/vivian/s // sky/) Replace the first vivian of each row with sky: % s/vivian/sky/g (equivalent to: g/vivi An/s // sky/g. you can use # As the separator. In this case, the/in the middle will not be used as the separator: s # vivian/# sky/# Replace the first vivian/in the current line with sky/5. delete ^ M in text description: For line breaks, use carriage return to line breaks (0A0D) in windows, and press enter (0A) in linux. In this way, when you copy files on windows to unix, there will always be a ^ M. Please write a shell or c program that is used in unix to filter windows files (0D.. Run the command: cat filename1 | tr-d "^ V ^ M"> newfile ;. Run the following command: sed-e "s/^ V ^ M //" filename> outputfilename. in methods 1 and 2, ^ V and ^ M indicate Ctrl + V and Ctrl + M. you must enter the file manually instead of pasting it.. Processing in vi: first use vi to open the file, then press ESC, and then enter the command: % s/^ V ^ M //..: % S/^ M $/g if the above method is useless, the correct solution is :. Tr-d "\ r" dest. Tr-d "\ 015" dest. Strings A> B 6. Use the s command to replace strings. The specific usage includes: s/str1/str2/replace str1 that appears for the first time in the line with string str2: s/str1/str2/g replace string str1: With string str2 :., $ S/str1/str2/g replace str1: 1 with str2, $ s/str1/str2/g replace str1: g/str1/s // str2/g with string str2: g is placed at the end of the command to replace each appearance of the search string. Without g, it means to replace the first appearance of the search string. g is placed at the beginning of the command, replaces all rows in the body that contain search strings.