精华内容
下载资源
问答
  • Linux下的文本编辑工具 - vi

    千次阅读 多人点赞 2019-12-13 23:30:15
    由于Linux系统“一切皆配置”的特性,我们经常要去修改各种软件及服务的配置文件,因此掌握最基本的编辑工具是十分必要的。在装了桌面的Linux系统中我们可以使用gedit等工具,像使用记事本一样直接编辑文件中的内容...

    写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。

    • 对于文章中出现的任何错误请大家批评指出,一定及时修改。
    • 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
    • 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

    Linux下的文本编辑工具 - vi

    本文关键字:文本编辑、vi、普通模式、编辑模式、命令模式

    一、vi工作模式

    由于Linux系统“一切皆配置”的特性,我们经常要去修改各种软件及服务的配置文件,因此掌握最基本的编辑工具是十分必要的。在装了桌面的Linux系统中我们可以使用gedit等工具,像使用记事本一样直接编辑文件中的内容。但是在生产环境中,通常我们都需要远程连接到一台机器,全部要在命令模式下操作,而且服务器本身也有可能没有安装桌面。
    在这里插入图片描述

    • 普通模式:使用vi命令打开一个文件时默认进入的模式,可以进行光标移动和快捷键操作。
    • 编辑模式:可由普通模式进行切换,移动光标,对文本内容进行修改。
    • 命令模式:可由普通模式进行切换,用于执行查找、替换、保存退出等操作。

    编辑模式与命令模式均以普通模式作为中间的工作模式,进行互相切换时都需要先回到普通模式,回到普通模式均使用ESC键。从普通模式进入编辑模式可以使用i/a或者使用o直接新建一行,从普通模式进入命令模式使用冒号,可以从命令模式退出vi工具。

    二、光标操作

    在vi工具中使用方向键或者对应字母来进行光标操作,但通常一次只能移动一行,需要高效的操作时需要借助相应的快捷键。
    在这里插入图片描述

    • 显示行号 -> 命令模式下:set nu
    • 隐藏行号 -> 命令模式下:set nonu
    • 定位至第n行 -> 命令模式下:n

    在这里插入图片描述

    三、文档编辑

    使用vi工具进行文档编辑时有两种方式,一种是直接进入到编辑模式进行文件内容的修改,另外一种方式是在普通模式下使用快捷键进行以行为基本单位的删除,复制等。
    在这里插入图片描述

    四、查找替换

    对于文本的编辑,同样少不了查找和替换功能,在命令模式下,按照指定的格式可以对文本内容进行查找和替换。
    在这里插入图片描述

    五、保存退出

    在这里插入图片描述
    对于新手来说,保存退出是个大问题,相信都经历过如下场景:
    由于对各种模式还不熟悉,在狂敲键盘之下发现突然进入了编辑模式,文件的内容已经发生了不可预期的修改,此时想到的第一个的问题就是如何能够不保存退出这个文件,下面就来示范一下。
    在这里插入图片描述
    对于文件的保存有两种方式

    • 在普通模式下输入ZZ即可快速保存:也就是按住Shift后连按两下字母z
    • 在命令模式下使用w命令,可以和退出一起使用,也可以执行类似另存为的操作

    在这里插入图片描述
    扫描下方二维码,加入官方粉丝微信群,可以与我直接交流,还有更多福利哦~

    在这里插入图片描述

    展开全文
  • Linux常用文本编辑工具及常用指令

    千次阅读 2017-04-22 20:45:58
    sedsed是一种流式编辑器,是一种文本编辑工具,以行为单位进行文本操作。sed默认按照basic规则进行匹配。 常用的命令格式如下:sed option '/pattern/action' filepattern:为一个正则表达式,用来匹配所要操作的...

    以下工具的使用都是建立在会简单使用正则表达式的基础上,不了解的群攻自己做功课。

    sed


    sed是一种流式编辑器,是一种文本编辑工具,以行为单位进行文本操作。sed默认按照basic规则进行匹配。
    常用的命令格式如下:

    sed option '/pattern/action' file

    pattern:为一个正则表达式,用来匹配所要操作的字符串行。

    action:是操作方法。常用的操作方法有:

    • p,将匹配到的内容打印两次,其他未匹配的打印一次。
    • d,将匹配到的字符串删除。
    • s,进行匹配字符替换。常用党的命令格式如下:
      sed option ‘patter/s/patter1/patter2/g’ file
      在patter匹配的字符串行中,用patter2替换patter1。加g选项是全部替换,不加g选项只替换第一个匹配到的。
    • n,读取下一行到模式缓冲区中,将模式空间的原内容清空。
    • N,读取文件的下一行追加到模式空间内,不请客原内容。

    option:选项,对数据做的相应操作,常用的有:

    • -n 将匹配到的字符串行输出,其他不输出。
    • -i 将修改的内容同步修改到源文件。
    • -e 多项编辑命令,可连接多个sed指令对同一行进行操作。

    定址

    定址用于决定对哪些行进行编辑。地址的表示可以由数字,正则表达式或者二者的结合。如果没有指定地址,sed将处理输入文件的每一行。
    eg:
    sed -n ‘3p’ file 打印文件第三行。
    sed -n ‘100,200p’ file 打印文件第100行~200行的信息。
    地址是逗号分隔的,需要处理的地址是这两行之间的范围(包括这两行在内)。范围可以用数组正则表达式或者二者的结合表示。
    sed ‘2,5d’ file 删除第2行到底5行
    sed ‘/start/,/end/d’ file 删除包含‘start’行和‘end’行之间的行。
    sed ‘/start/,10d’ file

    模式空间

    sed对一个文件进行操作时,会依次将文件的每一行拷贝读取到一个特殊的缓冲区,也叫模式空间内,依次读取一行。读取完后进行正则表达式的匹配,若匹配,则进行action操作,若不匹配则丢弃。紧接着处理完后读取下一行。所以sed对文件行的操作是在模式空间内,不会对源文件进行修改。
    这里写图片描述

    保持空间

    我们可以把保持空间想象成一个仓库,作为数据的暂存区域,但记住,处理数据时依然需要将数据由保持空间加载到模式空间。
    保持空间并不常用,只有以下几条指令会用到保持空间。
    g:将保持空间的内容拷贝到模式空间内,并将模式空间的原内容清除。
    G:将保持空间的内容追加到模式空间内,不清除原内容。
    h:将模式空间的内容拷贝到保持空间,将原来保持空间的内容清除。
    H:将模式空间的内容追加到保持空间,不清除原内容。
    d:删除模式空间的所有行,并读入下一新行到模式空间。
    D:删除multiline pattern的第一行,不读入下一行。
    x:交换保持空间与模式空间的内容。

    eg:
    ①给文件的末尾加一个空行
    这里写图片描述
    ②将文件逆序输出(模拟tac指令)
    这里写图片描述

    ③将匹配的行追加到文件尾。

    sed -e '/hello/H' -e '$G' file  ###类似于复制功能

    这里写图片描述

    sed -e '/hello/{H;d}' -e '$G' file ## 类似于剪切功能

    这里写图片描述

    ④行列转换

    sed -n 'H;{x;s/\n/ /g;p}' file 

    模式空间默认去掉每一行的\n,所以要想仅仅在模式空间内部将\n替换掉是行不通的, 保持空间内部有两行或两行以上内容时,会在每一行后面加上\n,所以现将数据Hold到保持空间,在执行x指令,进行模式空间与保持空间内容的交换,再进行替换。
    这里写图片描述

    ⑤求1~100的和

    seq 100|sed -n 'H;${x;s/\n/+/g;s/^+//;p}'|bc ### bc指令是对表达式求和。

    s/^+// 表示将开头多余的加号替换为空。
    这里写图片描述

    ⑥读取奇偶行
    这里用到了n命令,读取下一行到模式空间。

    sed -n 'p;n' file  ### 读取奇数行
    sed -n 'n;p' file  ### 读取偶数行
    

    这里写图片描述

    标签

    定义一个标签:

    :a   ### 定义标签规则为冒号加标签名,例标签名为a

    跳转到标签:b+标签名

    ba   ### 跳转到标签a

    再次实现1到100求和:

    sed -n ‘:a;N;s/\n/+/g;{!ba};p'  ####!ba 表示最后一行不跳转到标签a

    N实现的是将下一行追加到模式空间的功能,如第一次执行语句是,将1读入模式空间,此时执行N将下一行追加到模式空间,此时模式空间的内容就变成1\n2,再进行+号的替换,依次类推,直到最后一行。

    这里写图片描述

    awk


    awk既是一种文本分析工具,也是一种脚本语言。作为一种文本分析工具,它的功能比grep或者sed要强大的多,但它的用法与sed类似。作为一种脚本语言,它与c语言语法类似,有与c语言一样的分支和循环结构,是一种类c语言。

    相对于sed来说,awk强大的地方在于它既可以以行为单位进行文本编辑,又可以以列为单位进行文本编辑。awk默认的缺省的行分隔符为换行\n,默认的列分隔符为连续的空格或者tab。比如下图:
    这里写图片描述

    除了以空格和tab作为分隔符外,还可以自定义分隔符,如下图用冒号做分隔符。
    这里写图片描述

    当以列为单位时,$0表示整行的内容,$1表示第一列…$n表示第n列。

    awk命令行的格式:

    awk option '/pattern/{action}' file
    awk option -f scriptfile file  ### 用 -f 指定脚本文件
    

    pattern为正则表达式,用于匹配要操作的行。action为要执行的动作。

    这里要说一个-F选项,-F选项可以指定输入域分隔符,当我们在文件内使用自己指定的分隔符时,默认的awk指令是识别不了的,我们需要用-F选项指定出我们需要辨识的分隔符。如我们在上面用的分隔符是冒号‘:’,下面我要打印第二列的内容:

    awk '{print $2;}' file ### 失败,系统无法辨识分隔符。

    -F:

    awk -F: '{print $2;}' file ### 成功,指定分隔符为:

    这里写图片描述

    正则表达式

    利用正则表达式进行行匹配:

    ①找出productC的行的内容:
    这里写图片描述
    ②查找编号为2(第三列,以2结尾)的内容:
    这里写图片描述

    指定域进行正则表达式匹配。~与!~

    可以用~指定固定的域(列)进行正则匹配。!~与~!相同。与if语句搭配使用。
    ①找出第二列中以1开头的数据行。

    awk -F: '{if($2 ~ /^1/){print $0;}}' file

    这里写图片描述

    ②找出第二列中不以1开头的数据行。

    awk -F: '{if ($2 !~ /^1/){print $0}}' file

    这里写图片描述

    条件匹配

    除了用正则表达式进行行匹配外,还可以进行条件匹配,命令格式如下:

    awk option 'condition{action}' file

    如:将第二列的值小于100的都标记为NO,其他标记为YES。

    awk -F: '$2<100{print $0,"NO";}$2>100{print $0,"YES";}' file

    注意{}里面的写法,逗号‘,’作为输出域分隔符,在输出时被转化为空格。
    这里写图片描述

    BEFIN和END

    要理解BEGIN和END,先要理解awk执行的三个过程,分别为,文本处理之前,文本处理中,文本处理之后。
    BEGIN就是文本处理之前执行的动作,END就是文本处理之后执行的动作。

    eg:利用BEGIN和END计算行数。

    awk -F: 'BEGIN{x=0}{print $0;x++}END{print "total:",}'

    这里写图片描述
    BEGIN,END可单独使用可搭配使用。如下:单独使用END输出行号。
    我们在上面说过,awk也是一种类c语言,是一种弱类型语言,它的变量不需要定义,可直接使用,下例中x默认初值为 0。
    这里写图片描述

    awk脚本

    awk除了上述以命令行方式使用外,还可以以shell脚本的方式使用。因为awk也是一种脚本语言,所以awk有有自己的命令解释器,/bin/awk或者/bin/awk -f。

    test.awk:

    #!/bin/awk -f
    
    BEGIN{
        count1=0; //注意变量的定义格式
        count2=0;
        count3=0;
        total=0;
    }
    {
        print $0;
        if($2 < 100){
            count1++;
        }else if($2 >= 100 && $2 < 200){
            count2++;
        }else if($2 >= 200){
            count3++;
        }total++;
    }
    
    END{
        printf("<100: %d\n",count1);  ### 类c语言,可直接使用printf。
        printf(">=100 && < 200: %d\n",count2);
        printf(">=200: %d\n",count3);
        printf("total: %d\n",total);
    }
    

    awk脚本文件的调用格式为:

    awk [-F+分隔符] -f awkfile file

    例:

    awk -F: -f test.awk file

    执行结果为:

    这里写图片描述

    awk的内置变量

    ARGC 命令行参数的个数
    ENVIRON 支持队列中系统环境变量的使用
    FILENAME awk浏览的文件名
    FNR  浏览文件中的记录数(行数)
    FS 设置输入域分隔符,等价于命令行 -F选项
    NF 浏览记录的域的个数
    NR 已读的记录数
    OFS 输出域分隔符
    ORS 输出记录分隔符
    RS 控制记录分隔符
    

    printf与print

    awk是类c语言,所以在脚本程序或者命令行都可以使用printf。有时使用printf可以使输出格式变得更加工整。
    eg:

     awk -F: '{printf("filename:%s count:%d data:%s\n",FILENAME,FNR,$0)}' file

    结果:

    [lzk@localhost ~]$ awk -F: '{printf("filename:%s count:%d data:%s\n",FILENAME,FNR,$0)}' file
    filename:file count:1 data:productA:123:1
    filename:file count:2 data:productB:22:2
    filename:file count:3 data:productC:23:3
    filename:file count:4 data:productD:3:4
    filename:file count:5 data:productE:223:5
    

    练习:统计目录下普通文件所占用的字节数

    ls -lR | grep -E '^-'| awk '{print $9,$5;total+=$5}END{print total}'

    结果:
    这里写图片描述

    除此之外,还可以用find指令来查找对应大小的文件,但无法求和。

    find . -size +100c -a -size -1000c -exec ls -l {} \;

    cut


    cut的功能是‘剪’,以行为单位进行文本处理。命令格式如下:
    选项主要有三个:
    -b:按照字节进行切割。
    -c:按字符进行切割
    -b与-c的区别在于,-b无法剪切中文,而一个中文也算一个字符,所以-c可以剪切中文。相对于英文字符来说,它们两个功能相同。
    这里写图片描述

    -f 按域进行剪切。与-d搭配使用,-d指定分隔符,-f指定域。

    这里写图片描述

    sort


    sort的功能是对指定的文件按照一定的规则进行排序。格式为:

    sort option file

    1、单独使用sort默认以字符的ACCIS码的值进行排序。
    2、-u ,按照字符ACCIS码以升序排序,并去掉重复的行。
    3、-r ,逆序排序
    4、sort file -o file ,排序并修改源文件。
    5、-n 按照数值大小进行排序。
    6、按照指定的列进行排序,-t 指定分隔符,-k指定列数。
    这里写图片描述

    7、-f,将小写字母转换为大写字母进行比较,即忽略大小写。
    8、-c 检测文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1。
    9、检查文件是否已排好序,如果乱序,不输出内容,仅返回1。
    10,-M 按照月份来排序
    这里写图片描述

    11、-b,忽略每一行前面的空白部分,从第一个可见字符开始比较。

    eg:

    [lzk@localhost ~]$ cat file
    google 110 5000
    baidu 100 5000
    guge 50 3000
    sohu 100 4500
    

    1、按照第二列人数进行排序。

    
    [lzk@localhost ~]$ sort -t' ' -k 2n file
    guge 50 3000
    baidu 100 5000
    sohu 100 4500
    google 110 5000
    

    2、按照人数排序,当人数相同时,按照第三列工资进行排序。

    
    [lzk@localhost ~]$ sort -t' ' -k 2n -k 3n file
    guge 50 3000
    sohu 100 4500
    baidu 100 5000
    google 110 5000
    

    3、按照公司名称第二个字母开始往后进行比较(即按照第一个域的第2个字母直到本域结束)

    
    [lzk@localhost ~]$ sort -t' ' -k 1.2 file
    baidu 100 5000
    sohu 100 4500
    google 110 5000
    guge 50 3000

    4、仅按照公司名称的第二个字母进行排序,如果相同,按照员工人数进行排序。
    因为仅按照第一列的第二个字母进行排序,所以用1.2,1.2的方式表示,2,2表示只按照第2个域进行排序,如果只写一个2,则表示按照第2个域到最后一个域进行排序。

    [lzk@localhost ~]$ sort -t' ' -k 1.2,1.2 -k 2,2n file
    baidu 100 5000
    sohu 100 4500
    google 110 5000
    guge 50 3000
    

    uniq


    这个命令读取输入文件,并比较相邻的行,在正常情况下,第二个以后以后更多个重复的行将被山区,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须统统。如果输入文件用‘-’表示,则从标准输入读取。
    常用的选项如下:
    -c:去掉连续的重复行,并在每行行首加上本行重复出现的此时。可以取代-u或者-d选项。

    这里写图片描述

    -d:只显示重复行。

    这里写图片描述

    -u:只显示文件中不重复的行。

    这里写图片描述

    展开全文
  • xwiki功能-页面编辑

    千次阅读 2018-05-18 10:23:13
    在xwiki的所有页面都是可编辑的(只要你登录或拥有编辑权限)。编辑网页,你所要做的就是点击“编辑”按钮上的箭头。请注意,“编辑”按钮的位置,这取决于你的wiki正在使用的皮肤。 如果你使用的是Flamingo皮肤,...

     

    在xwiki的所有页面都是可编辑的(只要你登录或拥有编辑权限)。编辑网页,你所要做的就是点击“编辑”按钮上的箭头。请注意,“编辑”按钮的位置,这取决于你的wiki正在使用的皮肤。

    如果你使用的是Flamingo皮肤,你会看到如下:

    简单和高级编辑模式

    由于XWiki是一个第二代wiki,并不是所有用户都需要使用相同的功能。这就是为什么XWiki配有简单和高级编辑模式。用户可以方便地在他们的个人资料上(在你登录的时,在页面的右上方)选择编辑模式。这样,普通用户可以在不了解系统的情况下,对编辑模式之间进行选择。缺省情况下新用户被给予简单的编辑模式,但它们可以根据下文所述切换到高级模式。

    简单模式

    简单模式下点击“编辑”按钮后,XWiki将自动在基本模式(WYSIWYG or Wiki)下编辑页面,而以表单形式的页面是在Form模式下(即页面使用#includeForm()宏)。简单模式下的两个编辑模式为:

    • Wiki编辑模式
    • WYSIWYG编辑模式

    高级模式

    有经验的xwiki用户需要有更多的编辑选择(特别想要使用XWiki的编程功能)。他们可以到他们用户的个人资料页面上选择切换高级模式(见下图)。在此之后,在任何页面下单击“编辑”按钮,将会显示完整的编辑菜单,可以让用户选择他要使用哪种模式("Wiki", "Inline form", "Objects"...)


    一旦你已切换到高级模式,“编辑”菜单将如下图所示:

    • 表单编辑模式
    • 对象编辑模式
    • 类编辑模式
    • 访问权限编辑模式

    常见的编辑操作

    所有编辑模式具有某些或全部以下图片中的元素:

    一个wiki文档版本是由两个数字组成。当保存文档有大的变化时,将增加第一部分的数字并且复位第二部分的数字为“1”,而一个小的修改将只增加第二部分的数字。

    minor edit:该复选框是为了标记这次对文档不痛不痒的修改。这样的修改可以包括但不限于:拼写错误更正,文本重排,格式。它的目的是区分主要和次要的修改。

    默认情况下,minor编辑不会出现在“What's New”页面和文档的历史页面。点击选项“Show minor edits”将列出所有版本,包括minor修改的。

    Version summary:版本汇总 (输入修改说明),该字段允许在保存前对文档所做的更改输入简短说明。这将显示在历史记录页面里,这是为了增加对内容演变的理解。

    Cancel: 取消按钮导致本次修改放弃并退回文档视图模式。

    Preview: 预览按钮显示文档修改后的样子,但实际上并没有修改文件。在预览模式下,用户能够取消本次修改,返回到编辑模式或保存修改。此按钮不是在所有的编辑模式下可用。

    Save & Continue: 保存并继续按钮提交本次的修改,并停留在当前的编辑模式。

    Save & View:保存并查看按钮,提交当前的变化,并返回到文档视图模式。

    Wiki编辑模式

    如果你已经是一个wiki用户,那么该模式应该是你熟悉的。在这种模式下,你可以使用一个简单的wiki语法输入文本。需要注意的是,可以根据编辑页面右边的XWiki语法帮助来了解更多xwiki的wiki语法

    以下是在Flamingo皮肤下的Wiki编辑模式:

    选择一个语法

    在编辑页面时,可以选择要使用的语法(见XWiki语法指南了解详细介绍)。在wiki编辑模式下,可以在右侧信息面板中选择当前页面要使用的语法。

    默认情况下,只有启用XWiki语法,但可以配置其他语法,如在下面的截图。

    例如使用Flamingo皮肤:

    语法之间的转换

    如果你已经拥有了给定语法的页面内容,并尝试将语法更改为另一个语法,如果xwiki知道如何执行转换(转换为XWiki语法2.0+会始终提示转换),则能把你的内容转换成新的语法。转换的质量通常是不错的,但这依赖于原始语法;例如,从语法XWiki 1.0转换为XWiki 语法2.0+可能不会产生完美的结果,需要你手动检查结果。

    自动保存

    自动保存功能能在给定的时间间隔内以次要版本自动保存文档。只需要点击编辑区下方Autosave复选框就可以自动保存。可以在复选框旁输入数字来改变自动保存时间间隔。

    请注意,这个功能还没有完全成熟,因为它每N秒(其中N是指定的时间间隔)创建一个新版本。这意味着,一个文件可能会有很多版本,这将有可能妨碍性能和历史版本的可读性。在未来,想法是实现伪版本的概念。

    WYSIWYG编辑模式

    这种模式非常适合不想使用wiki语法或者第一次使用的用户。此模式是所见即所得,可以边编辑边看效果,并且提供工具栏可以在你的文本添加特殊效果,添加图片,插入链接,添加宏等。

    用XWiki 企业1.7开始,我们有2个所见即所得的编辑器,我们正在逐步淘汰旧的使用XWiki语法1.0的编辑器(基于TinyMCE)。如果你的文档使用XWiki语法2.0,或者如果你的wiki默认配置为使用XWiki语法2.0,那么你就可以自动使用新的所见即所得的编辑器(基于GWT)。

    设置父页面

    从XWiki7.2开始,设置父页面的概念已被弃用,取而代之的是新的嵌套文档功能。一个页的位置不再由“parent”域控制。为了改变页面的位置,你现在需要重命名或移动到另一个位置。

    例如,一个页面“CEO”页面嵌在“Boarding”内,而“Boarding”嵌在“Management”内,“Management”嵌在"Staff"内,你将有以下路径:

    XWiki < 7.2 为了让你的页面有组织结构,当你在一个空间中创建一个新的页面时,其父节点将被自动设置为创建的页面所在空间的WebHome主页。

    如果你想改变页面的父亲,那么你需要以Wiki或WYSIWYG编辑器来编辑页面。

    为了编辑页面父节点,请点击页面上面标题的小铅笔。

    如果页面没有设置父节点,面包屑将不会显示Main.WebHome路径到页面的导航。这些页面被称为孤儿页面。

    请注意,当你复制一个页面到一个新的空间,他的父节点字段不会相应地更新到新的空间。你将不得不手工维护。

    表单编辑模式(又叫内嵌模式)

    内联模式或表单模式,这是XWiki的特殊功能,即允许管理员定义结构化信息(如博客条目,或标准的财务表单)。含有这种结构化信息的页面可以被编辑和以简单的HTML表单编辑。因此,单击编辑按钮时,页面内容就地可以进行编辑,或内联编辑。 

    技术上内嵌模式是由XWiki语法1.0或2.0来根据下面不同的算法自动触发:

    • XWiki语法1.0:如果页面包含#includeForm()调用
    • XWiki语法2.0:如果页面包括其他页面并带有XWiki.SheetClass类型对象

    请注意,这已经超出了简单指南范围。请查看开发人员指南,了解更多关于类/对象和Forms。

    对象编辑模式

    在XWiki可以在页面附上对象。对象是属性集的值,添加了页面的附加信息。例如,一个安全权限可以被添加到一个页面以控制其权限,一个博客对象附加到页面表示博客条目,等等。这已经超出了简单指南范围。请查看开发人员指南,以了解更多关于类/对象的编程。 

    类编辑模式

    我们已经看到了一些页面可以有对象附属。同样一些页面可以有对象定义,即类。类编辑模式调用当前页面上的类编辑器,允许编辑类并附到文档上。同样,这已经超出了简单指南范围。请查看开发人员指南,以了解更多关于类/对象的编程。

    访问权限编辑模式

    该模式允许你控制你正在浏览的页面(需要页面的访问权限来修改页面的权限)的访问权限。更多信息请参见权限管理

    全屏模式

    从xwiki 1.1版本开始,可以使用全屏模式。当在wiki或者WYSIWYG模式下编辑页面,点击编辑区右上角全屏按钮进入全屏模式,再次点击回到原始状态。

    需要点击全屏按钮进入全屏 

    全屏模式下编辑 

    标题行为

    页面同时拥有名称和标题。页面名称在URL使用而标题是用来显示页面的简短说明。查看页面时,标题是用来作为一个页面顶部的标题。

    页面标题可以在wiki或WYSIWYG模式下编辑文件时进行设置。

    标题默认不是强制的,但是可以配置为强制需要标题。

    当一个页面没有设置标题,那么XWiki会试图通过提取文档最上面的标题内容。例如,如果你有一个一级标题,它会被用来作为页面标题。如果你没有一个一级标题,但有一个二级标题则二级标题将被用作页面的标题。XWiki标题级别的层级控制可以在XWiki配置里修改。如果没有标题或发现如果最上面的标题的层级低于配置文件里配置的,则页面名称将被设置为标题。

    目前,标题内容使用Velocity来解析,所以允许你写Velocity内容到标题(当希望做个国际化标题时很有用)。因为你可以在标题中使用任何wiki语法,如果一个页面没有设置标题(标题不强制要求),则显示该页面的标题时,最上面的标题任何wiki标记会被呈现。

     

    展开全文
  • 使用UltraEdit32编辑器格式化源码功能

    千次阅读 2010-06-22 19:46:00
    UE编辑器一直是我编程和编辑文本的好帮手,对它映像最深刻的功能就是模式编辑功能,确实给我的工作带来不少的便利,但作为编程工具没有格式化源 代码的功能能似乎使UE美中不足,可是事实并非如此,UE提供的...

    http://blog.163.com/chou_ke/blog/static/103413720077136349866/

     

    UE编辑器一直是我编程和编辑文本的好帮手,对它映像最深刻的功能就是列模式编辑功能,确实给我的工作带来不少的便利,但作为编程工具没有格式化源 代码的功能能似乎使UE美中不足,可是事实并非如此,UE提供的两个开源命令行工具就可以很好地完成当下流行的几款编程语言源码的格式化工作。
             在UE内可以对XML、Java、C/C++、C#源码文件进行格式化操作,这个功能比较隐蔽所以一般用户可能没有注意到。这些源码的格式化功能是通过两 个开源命令行工具来实现的,它们是:
      XMLlint————开源XML文件命令行解析器
      AStyle—————开源源码格式化命 令行工具,现在已经支持的语言有Java、C/C++ 和 C#。
     以下是使用这两个工具扩展UE编辑器使其具有进行源码格式化功能的方法及一般 配置:
     首先,假设上UE的安装目录是 "C:/Program Files/IDM Computer Solutions/UltraEdit-32/" (下文提到的UE路径请根据实际情况进行修改)。
     
     XML文件的格式化方法如下:
         1、打开需要格式化的XML文件,单击 Format-->XMLlint Tool 菜单项,在弹出的对话框中钩选
         2、"Reformat and reindent the output,where indentaion is: " 这一项,然后单击 "Parse" 按钮,此时格式化后的结果将出现在Outpu窗口,如果需要获得格式化后的文本,可以在Output窗口上单击右键选择 "Copy To Clipboard" 菜单项将文本复制到剪贴板上以供其他程序处理;
        
     如果需要对UE打开的当前XML文件进行格式化且 直接把结果输出到当前文件,那么可以这样:
         1、单击 Advanced-->Tool Configuration 菜单项,在弹出的对话框内单击 "Insert" 按钮,然后在 "Menu Item Name" 一栏输入命令菜单的名称(例如:"格式化XML文件"),接着在 "Command Line" 一栏输入以下命令:
            "C:/Progra~1/IDMCom~1/UltraEdit-32/GNU/XMLlint.exe --format --output %f %f"
            在Output页签内将 "Capture Output" 选项的钩去掉,最后单击"确定"按钮完成配置。
         2、现在,如果你想格式化打开的XML文件那么只要在 “Advanced” 菜单下选择 ”格式化XML文件” 菜单项即可。
       
        Java、C/C++、C#源码文件格式化方法如下:
         1、配置与XML格式化的配置类似,只是在 “Tool Configuration” 对话框内的 “Command Line” 一栏所输入的命令不同。
          Java源码使用以下命令行:
          “C:/Progra~1/IDMCom~1/UltraEdit-32/GNU/astyle.exe --style=ansi --mode=java %f”
          C/C++源码使用以下命令行:
          “C:/Progra~1/IDMCom~1/UltraEdit-32/GNU/astyle.exe --style=ansi --mode=c %f”
          C#源码使用以下命令行:
          “C:/Progra~1/IDMCom~1/UltraEdit-32/GNU/astyle.exe --style=ansi --mode=cs %f”
          请记住在Output页签内将 "Capture Output" 选项的钩去掉,最后单击"确定"按钮完成配置。

          注意:要格式化的文件的路径中不能包含空格或中文,这个问题我还没解决。
         2、现在,你只要选择相应的格式化菜单项即可对打开的文件进行格式化了!

        以上AStyle的配置只使用了这个命令行的一般选项,其实这个工具还有许多其他格式化选项,你可以查看它的帮助文档了解其他选项开关的用法(UE并没有 附带帮助文档,需要登录http://astyle.sourceforge.net/ 下 载其源码压缩包,这个包内才有)。
        XMLlint的格式化XML文件功能并不是它的主要功能,它其实是一个XML解析器(具体有什么功能我还没用过所以说不上,呵呵...),有关它的说明 可以浏览http://xmlsoft.org/ 了解相关内容。

    展开全文
  • 这时候想把这些数据弄成一个C语言数组,这时候第一步看到最大的麻烦就是,这些数据之间都没有换行,这就十分的难弄,如果数据很多很多,那分行工作就十分的繁重,这时候就要想到使用工具了,这里先把这些数据弄成16...
  • UE编辑器一直是我编程和编辑文本的好帮手,对它映像最深刻的功能就是模式编辑功能,确实给我的工作带来不少的便利,但作为编程工具没有格式化源 代码的功能能似乎使UE美中不足,可是事实并非如此,UE提供的两个...
  • 五种主流web报表工具功能对比

    千次阅读 2018-03-07 11:29:07
    公司在做项目时,需要用到报表工具,经过我们对一系列市场上主流报表工具的考察、综合评定,以及到部分报表工具厂商实地考察。我们最终选择了更为专业,和适合我们开发的报表工具,以下是我们在前期选择报表工具时的...
  • 推荐 Word、EXCEL必备工具

    千次阅读 2019-09-20 09:41:36
    EXCEL必备工具箱: EXCEL必备工具箱是一个同时支持EXCEL/WPS插件,自带免费多标签(类似于OfficeTab),安装后就可以使用,与...EXCEL必备工具箱智能识别当前是32/64位的EXCEL还是WPS,自动屏蔽WPS已有功能,额外增...
  • Jython编程工具

    千次阅读 2004-06-23 13:07:00
    一个好的编程语言好比一条好的马路,一个好的编辑...其实对于编辑工具,我们希望在文本编辑器中应该具备的功能清单条目:语法高亮;代码折叠;自动补全;缩进检测;块缩进/取消缩进;块注释/取消注释;交互式的 Jyth
  • Sublime功能拓展及插件

    千次阅读 2017-12-21 22:20:36
    Sublime基础功能及拓展中文支持ubuntu16.04中subline text3的中文输入法支持sudo apt-get update && sudo apt-get upgradegit clone ...
  • AndroidStudio3.0 下载使用新功能介绍

    万次阅读 多人点赞 2017-05-21 18:34:38
    谷歌2017发布会更新了挺多内容的,而且也发布了AndroidStudio3.0预览版,一些功能先睹为快。(英语一般,有些翻译不太好)下载地址https://developer.android.google.cn/studio/archive.html选择显示全部即可看到下载...
  • SharePoint Server 2016 与 2019部分功能差异 SharePoint Server 2019 公共预览版已更新到第一次引入SharePoint Online现代体验。 下面详细介绍一些SharePoint Server 2019 公共预览版中的现代体验和SharePoint ...
  • .NET开发常用工具大汇总

    千次阅读 2017-10-09 15:05:19
    这篇文章列出了针对ASP.NET开发人员的有用工具工具 1.Visual Studio Visual Studio Productivity Power tool:Visual Studio专业版(及以上)的扩展,具有丰富的功能,如快速查找,导航解决方案,可搜索的附加...
  • 列出以下常见问题,注意看哦 : 1 、这是神马软件?有那么神吗? 答: 这个是可以把图像上的文字转为可复制文本格式的软件!神不神你说了算,不能用马上退款,不好用马上退款,完全零风险! 2 、...
  • NET Framework 4.5 中的新增功能

    千次阅读 2013-09-23 14:42:22
    地址: http://msdn.microsoft.com/library/ms171868%28VS.110%29.aspx#web 本主题包含 .NET Framework 4.5 的以下区域中主要新增功能与改进...
  • 排除AD站点内部的复制故障

    千次阅读 2005-11-16 16:22:00
    复制故障的常见症状表明存在站点内部复制故障的常见症状包括: •...要解决这些问题,请使用下列实用工具: •域控制器诊断 (Dcdiag.exe) 和网络诊断 (Netdiag.exe) 实用工具。您可以从 Windows 2000 CD-ROM 上的 Windo
  • ...MATLAB用户界面的熟悉(内容,特点,标题栏,功能区,选项卡,工具栏命令行窗口,命令历史记录窗口,当前目录窗口,工作区窗口,图像窗口)
  • 功能测试的测试点全集

    万次阅读 多人点赞 2019-09-03 23:05:40
    日常测试中,我们用的最多的就是功能测试,虽然功能测试只是点来点去,但是点来点去也是需要经验和头脑的,那么功能测试都包括哪些要点呢: 一、输入框 字符型输入框: (1)字符型输入框:英文全角,...
  • 静态代码检查工具PC-Lint(一)

    万次阅读 2006-06-23 09:44:00
    flags参数可以是A、J、X、B、b、l和f,相应的解释和弱化字符在表 2 中列出: 表 2 强类型检查strong选项和参数表 A  对强类型变量赋值时进行类型检查,这些赋值语句包括:直接赋值、返回值...
  • JDK内置工具

    千次阅读 2017-12-18 11:40:24
    JDK是一个功能强大的Java开发套装,它不仅仅为我们提供了Java运行环境,还给开发人员提供了许多有用的开发组件(位于bin目录中,如下图所示)。仅仅使用JDK,就能够解决我们在Java开发过程中遇到的许多问题。 下面...
  • 第八章 自动化 Kali 工具 作者:Justin Hutchens 译者:飞龙 协议:CC BY-NC-SA ... 与构建完全新的脚本或程序来完成具有挑战性的任务相比,编写使用现有工具以及按需修改其行为的脚本通常更有效。 实用的本地
  • 如何排除站点内部的复制故障

    千次阅读 2006-08-03 09:47:00
    如何排除站点内部的复制故障察看本文应用于的产品文章编号:249256最后修改:2005年11月17日修订:3.1本页概要 复制故障的常见症状 特定的症状及故障排除步骤 “Access Denied”(拒绝访问)错误 Repadmin.exe 或 ...
  • 史上最全的MySQL高可用架构之【主从复制】【故障转移】【读写分离】【负载均衡】
  • 常见黑客渗透测试工具

    千次阅读 2018-06-05 15:37:50
    主要功能包括本地和远程安全审查,支持client/server结构,具有GTK图形界面,并支持脚本语言编写插件。属免费开源。 二、Wireshark 说起Wireshark,不得不提Ethereal,Ethereal和Windows的sniffer pro并称网络...
  • atom编辑器的使用

    千次阅读 2015-10-22 17:29:20
    Atom编辑器 Ctrl+单击(进行跳转) 何为ATOM 2 为什么用ATOM 2 常用快捷键–亲测及翻译 2 设置主题 5  插件推荐 6 前端必备插件篇 6 插件–美化篇 6 插件–协作篇 6 插件–键盘侠 6 插件–加强 6 实时...
  • MySQL复制原理与配置

    千次阅读 2013-11-15 15:47:09
    1复制配置 1.1如何搭建复制 1.1.1master配置 开启二进制日志并创建唯一的Server ID:在my.cnf文件的[mysqld]节加入相应配置信息并重启Server使其生效。 [mysqld] log-bin=mysql-bin server-id=1 注意事项 复制组中每...
  • 一共81个,开源大数据处理工具汇总

    万次阅读 2017-03-14 16:08:26
    hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单 的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的...
  • C#网页复制

    千次阅读 2010-04-04 15:52:00
    如果是这样,你可以打开开始→运行,在弹的对话框中输入:regsvr32 /u zipfldr.dll,回车后即可关闭ZIP文件夹功能。 4.让Windows XP也能刻ISO文件  Windows XP没有提供直接刻录ISO文件的功能,不过你可以...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 44,904
精华内容 17,961
关键字:

列出具有复制功能的编辑工具